A Bristlenose Pleco or two would take care of most of your problems.........EXCEPT, you are already OVERCROWDED! Which is probably why you have so much algae to begin with....
So without adding any more fish, lets figure a way out of this....
#1. Do you test your water? The
API Master
test kit is the best. Find out what the readings are for:
ammonia:
nitrite:
nitrate:
Even if your fish appear to be healthy, they may just have adjusted to high nitrates....but to get rid of algae growth you have to keep the nitrates down.
Do you do water changes, if so how much and how often?
The way to get the nitrates down is to do water changes.
#2. What lighting do you use with your tank? Is it in natural light from a window? How long is it exposed to any kind of light?
To limit the light to no longer than 10 hours a day will keep algae under control. To start you have to cover the tank for 3 days, NO LIGHT AT ALL! Do 2-25% water changes, first, then every day for a week after the cover comes off, and VACUUM the gravel. You have to change out the water to rid the tank of the dieing algae, as after it dies, the rotting algae will cause a mini-cycle and be hard on your fish.
With an overstocked tank you have to keep up on those water changes, or it will just happen all over again. The ideal is to keep your nitrates between 5-10.
#3. Limit the food. You may feel you are feeding just what they will eat, but try to cut back. You will be surprised on how healthy the fish can stay, as long as you continue to give a variety of food, just try feeding once a day for awhile, or two REALLY small feedings. Most of your fish will help eat the algae also if they are a little hungry.

Starve the algae.
Hope this helps, Good Luck.