I think your 20g setup looks pretty good! If the snake doesn't eat for you consistently though, I would move to a 10g. A temperature gradient basically means that there are multiple temps for the animal to choose from. Most people try to keep the ambient temperature of the air around 75-80* over the whole enclosure. Providing a "hot spot" of 90* is fine, they don't need the air to be 90* as long as they have that spot.