Unless you have an extremely secure top, I would suggest against getting a snake. Secure tops are also pretty expensive. Now with that out of the way, if you do have a very tight fitting escape proof top, a corn snake would be very at home in a 30 gal tank. I'm partial to the miami phase (they stay small and cute). The larger ones like Okeetees might feel cramped though. They need mice though, so be prepared to pre-kill them, or handle frozen mice (absolutely do not feed live mice, not even pinkies!).
Leopard geckos would be very at home in a 30 gal tank also. As long as you only have females, it's okay to have multiple geckos in one tank. Males will tear each other apart, and if you have them with females, they'll relentlessly breed with them during breeding season. You also don't need to worry about a top with leos, just make sure the cats can't go anywhere near the tanks. If you aren't squeamish about insects/larvae, should be all good, and food should be readily available from most pet stores, or better you can start your own colonies. I feed mine superworms, silkworms, mealworms, and the occasional wax worm and pinkie mouse.
With reptiles, don't forget to put in the extra cost of heat lamps/pads, dry hides, humid hides, thermometers, hygrometers, themostats/rheostats (someway to regulate the heat), vertical space (things to climb on, logs, limbs, etc), vitamin powders, and gutload the feed. Even with mice, I like to buy them alive (or breed them) and feed them extra healthy food for at least a few days before I feed them to my snake (fresh veggies and fruit, cereal, high protein kitten food, etc).