Hello all!
I didn't see an audio interface on your list, IMO, move from GarageBand to Logic, or Live to create, or even Pro Tools if you are feeling brave. Get decent headphones (if you live in a an apt). If you go for monitors, go for Mixcubes, as they emphasize your mid-range, which will help you mix for laptops and 90% of consumer electronics, if your mix sounds good on them, odds are high they will sound decent in other places.
If you have a house, get some 5" monitors, as they will give you best bass response. The important thing here is that you learn the sound of the monitors you choose and your room, that way you know how your mix will translate in the real world.
Again, my opinion, hopefully this helps!