Why don't heavy and light gases separate in the atmosphere?
That's because of two reasons. One is entropy, the ultimate force of chaos and disorder. Sure, gases would like to be arranged according to their density, but even above that, they would like to be mixed, because mixing creates a great deal of entropy. If you prevent the mixing, then they would behave just as you expected. Indeed, a balloon filled with $\ce{CO2}$ would drop right to the floor and remain there.

On the other hand, if you allow mixing, light gases wouldn't necessarily go upward. Just pierce that balloon with helium, and... Well, you won't actually see much, but in fact, the helium will disperse in the atmosphere and remain there. True, its contents in the upper layers would be somewhat higher, but only somewhat. It is not like a layer of pure helium floating atop all those $\ce{O2}$ and $\ce{N2}$.

The importance of entropy is by no means limited to gases. Think of all that salt in the oceans. Salt is much more dense than water; wouldn't it just drop to the ocean floor? Well, no, it rather wouldn't.

The other reason is the constant action of winds and currents mentioned by Zhe. They stir the atmosphere (or sea water, for that matter) and make it even more uniform than it might have been otherwise.