Well a couple things...first, angelfish get to be ~6". All alone, you certainly will not have to worry about it reproducing. It needs a mate and lays eggs. If you do get a mate for the angel, which isn't as simple as adding another fish, it will certainly eat all your neons in time. They become very large and are better suited for a 30-55g tank.
Neons are schooling fish and should be kept in groups of 3-6 or more. If you are considering adding more to your stock....I would add 4+ neons...find a new home for the angelfish. Even without a mate, it will get big and eat the neons.
Posting a picture of the shark and algae eater would help to identify them. That way we can suggest compatible tankmates for you.
As for other live bearers, you might consider molly, platy, and guppy species for your size of tank. They are all live breeders. Beware though with these species. You should keep 2-3 female per male and be prepared for alot of babies (fry). If you choose to leave the fry in the tank you will definitely be dealing with some overstocking consequences soon. They are prolific breeders and you will have more fry than you will know what to do with in time.