This is pretty much Android. You need to understand how Android manages memory. Unlike WinMob, BB, and others, Android will kill apps and reuse memory when it's needed, so the fact that an app is "on" isn't necessarily a problem. In fact, Android is designed to optimize the use of memory by automatically putting in memory apps that you're likely to need again.
Also, an app that's "on" isn't necessarily using cpu resources. If an app is idle, just sitting in memory, the OS gives it no resources other than that memory.
What does matter is if the app remains active while in the background. Some apps, like weather, need to check the network for conditions. Check the settings for each of these apps and see how frequently you have them set to update. Turn off automatic updates, or set them to a fairly long interval, to save network usage and battery. But understand that no matter how infrequent they update, they still need to be in memory to do that check.
I don't see a "chat" app. Do you mean google talk? With Talk, make sure "automatically sign in" is unchecked, and make sure you exit it by tapping menu / more / sign out. Also, note that there are two different "talk" entities. One is the talk app, which you can stop as I described above. The other is the talk "service" which google uses for various communications activities, and which will start up whenever needed (by Gmail, for example).
In my case, the Talk service has been active for 18 1/2 hours, and has used exactly 1 second of cpu in all that time. (And that's probably because I opened up the app to make sure about what I was writing above.)
The key is to NOT be upset. Android is doing what it's designed to do. If you came from the BB or Winmob, you're used to having to worry about what apps are in memory. In Android, you don't. If your memory is full of idle apps, and an active app needs more RAM (or you start a new app), Android will automatically kill inactive ones to make that memory available for the new use.
You might find this informative:
How to properly set up and use a task killer (Oh, yes, I went there!) | Android Central
and this, although it's a bit more geeky:
Fine tuning the MinFree settings (improving on Android's multitasking) | Android Central