You're right that gases don't spread out because of forces pushing the molecules apart. In fact, there are some forces pulling molecules together. That's what causes gases to clump up into liquids when they're cooled enough.
So why do they spread out? It's just that the molecules bounce around randomly in all directions, and just by chance end up all over the place. After a while the system forgets what state it started in and each possible quantum state with about the same energy becomes equally likely. The vast majority of states have the molecules spread out pretty evenly. The reason is basically the same as why the vast majority of times that a coin is flipped 2,000,000 times it'll end up with about 1,000,000 heads. That's just what most of the possible patterns end up looking like.
The formal description of all this involves maximizing entropy, which is in simple cases the log of the number of quantum states the system might be in.
(published on 06/03/12)