What is on the surfaces is most likely cyanobacteria, typical for a high nitrate situation. In a 20g, the sand bed isn't going to help with nitrates, and something is feeding your ammonia level - most likely over feeding, or just build up of wastes, which also feeds the cyano.

In a 20g, water changes are your best bet. A skimmer will be tough to make work efficiently without more water volume (a sump), you also have a significant bio-load for a 20. Small tanks are actually MUCH more difficult to keep stable. Your bio-wheel and LR is helping convers Amm-nitrite and nitrite-nitrate, but you have nothing really helping with the nitrate. Including a sump/fuge with a small skimmer and some macro algae woud be the best solution, but upgrade the tank size while you are at it and use the 20 for the sump/fuge ;)

Others here may be able to offer suggestions for the 20g. I tried a 12g nano for awhile - WAY too difficult to keep stable for me!