Guppies will often grow well under a wide range of conditions, but originally came from somewhat harder, alkaline water. Salt is optional.
The best Guppies I ever had were in my brackish water tank. This won't work for plants, though.
Do not add a Puffer. They can go along for a while, being OK with the other fish, then one day turn and mangle their tank mates. Puffers are for a species only tank.
Guppies have a slight tendency to stay up higher in the tank, so I would look for lower swimming fish or bottom dwellers as tank mates. Many of the smaller Cats (like Cories) and Loaches could work in a 20-30 gallons (especially if you can do the 30). I would keep the water moderately hard to combine these. Some times the tank mates can be deliberately chosen to eat the Guppy fry. Is this your goal? That sort of a fish is also likely to eat shrimp.
Other small fish for somewhat harder water include many of the Rainbow Fish relatives. Pseudomugil and similar. They are small enough to be shrimp safe, too. Asian Rummynose would be another one to look into.
Mostly these are so similar to the Guppies, though, that I would not bother to mix them.
Try the Ghost shrimp first. If nobody eats them, then go for the RCS.