All shoaling fish (from corys to tetras and beyond) should be kept in shoals of at least 6, preferably more. Some have more particular reqirements than others - they need a certain balance of males to females, they are agressive, they should be kept in odd numbers, etc - but they all need to be kept in large groups.
This means that your stocking plan should allow for at least 6 of each tetra, danio and cory species and you'll need to research each species to see if there is any other provision they need. I know penguin tetras are actually considered to be rather aggressive, as tetras go. You also say you have 6 danio - are these of multiple species? According to your sig you have leopards, zebras and glowlights which would mean 3 groups of 6 unless you want to swap some.
Livebearers - I would also advise keeping single-sex groups. Even keeping females can mean you still get babies as the little darlings can hold the male sperm for a long time and thus effectively make themselves pregnant days or weeks after last being around a male. All male groups can be problematic due to fighting but if the tank is large and there is plenty of decor/plants, it shouldn't be too much of a problem. If intenting to keep a mixed group, get 2-3 females per male of each species and have a plan for how to deal with fry.
The CAE will become a problem. He'll outgrow the tank for starters and may become aggressive to the other fish. CAEs are well known for being nasty, problem fish and are so easy to acquire that many shops just stock them as algae eaters and lie about their nature and eventual size. Pity, as with the right tank and care they can be awesome. By all means keep him for now but if he's hitting 4-5 inches and getting boisterous, think about upgrading to a 40+ gallon. The longer you keep him, the harder he will be to rehome.
Your 'ideal' stock list:
8x Harlequin
6x Penguin tetra
1x Molly
2x Swordtail - May try to breed with molly. Needs 2-3F per M if mixed sexes
2x Gupys - need 2-3F per M if mixed sexes
6x Pygmy cory
6x Neon tetra
6x Zebra Danio
6x spotted/leopard Danio
6x glowlight Danio
4x Platy - need 2-3F per M if mixed sexes
1x Chinese algae eater - May cause serious problems later on and will outgrow tank
This is a tank that is very, very full of shoaling fish and mid/high-swimmers and has very little on the bottom. I would 3 groups of shoalers to re-home/remove and make sure you have at leasy 6 per group of the ones you keep. I would also increase the number of pygmy corys as they feel much safer in larger groups. The liverbearers you're going to have to sort out. Due to breeding and especially inter-species breeding, I would pick 1 species and rehome the rest but as long as you don't end up with any females being bullied or harrassed, it's your call. You don't want to end up with say 1 female molly and 2 male swords as despte being a seperate species the males will probably pester the female. You need to balance the 2-3F per M ratio between all the species.
What I would do:
8 x Harlequin
3 x Male swordtail
5 x Male guppy
8 x Pygmy cory
8 x Neon tetra
8 x Glowlight danio
1 x apistogramma or pair of bolivian rams/dwarf flag cichlids/keyhole cichlids
That gives you three large shoals, some more independent fish of various sizes and colours, the cichlid you want and some bottom feeders. That is a heavily stocked tank and I would make sure it is well planted (with live, silk or soft plastic plants) and that you change 25% twice a week. To make it a bit more stable you could remove another group of shoalers and.or either the swordtails or the guppies.
With any new fish, double check that your water is the right pH and hardness range for them. I wouldn't even thinking about keeping New Worlds if you live in a very hard water area, for example.
Hope that's helpful.