The snail looks like a zebra nerite, and would also explain his stellar job in keeping your tank walls clean. Nerite snails are amazing algae eaters. There are two reasons he might not touch the leaves of your plants.
First; if it is cyanobacteria. I cannot tell from the picture, but if it is NOT raised, and more like a slimy sheet, that could be what it is. Since it is a bacteria and not a true algae, the snail wouldn't be eating it.
Second...he just might be a bit too heavy for those leaves. ;) If the algae is kinda furry looking it might be beard algae. I've seen similar in my own tank long ago, but the algae I had was completely devoured in mere days, by a siamese algae eater I had at the time.
For a more sure identification I'd recommend checking this site with the attached pictures.
http://www.aquahobby.com/articles/e_...ater_algae.php