The problem with fish that will eat algae is you basically have to keep them hungry all the time or they will not eat algae. This can be a problem is you have other fish in the tank that need to eat.
I've never kept Mollies but it seems most Livebearers are always hungry so they may eat some algae.
SAEs will eat algae until they have had fish food then forget it..they will need to be very hungry to go at algae and seem to prefer fine leaved plants and moss that are in the tank over the algae.
As mentioned, Otocinclus eat diatom algae but not other types of algae.
You asked about fish, but in my opinion, Amano Shrimp are probably the best algae eaters out there. The problem with them is that they are small in comparison to most fish and fish like to eat shrimp. I keep a 10g tank with about 30 or so Amano Shrimp in it. When my other 10g shrimp tanks get algae (I don't add fertilizers or CO2 to my shrimp breeding tanks so I do get some algae in them), I put 15-20 Amano Shrimp in the tank and they take care of the algae in about a week, maybe less. At the rate of 1-2 Amano shrimp per gallon, they should do a very quick job on most filamentous algae...though at $2-$3 per shrimp (or more) it can get very expensive.
Cutting the photoperiod back, adding more plants and being patient is the best way to reduce diatom algae. If you manually remove other types of algae when you first start to notice them and add the appropriate fertilizers for your style of tank, you can keep algae at bay. Keep the plants happy and you won't have very much algae, if any