My advice would be not to try and cram the maximum amount of fish into your tank.
Not only does a large number of fish equate to a large amount of ammonia production and detritus buildup, but it also looks strange. Particularly when they are all different sorts of species in a small tank.
Some of the fish you listed warrant some special consideration.
Corydoras are schooling fish and will likely feel more secure in a group of 5 or more. (The more the merrier.)
Redfin sharks can grow 6" long and are really too large for a 20 gallon aquarium (some will disagree).
Angels are also decent sized fish, as well as being very tall. If your 20g tank is a 20 "high" then you're probably ok. If it's a 20g "long", then the water column is really too shallow for angels. I don't know of any "small" angel species. Any small angel I have ever known eventually became a full sized angel.
The dwarf gouramis are a good choice. They're small enough not too look goofy in a small tank, and are quite interesting and hardy fish. You could keep 1 as you suggested, or a male and female pair.
Cherry barbs are great fish, but as with the corys, are schooling fish and would really appreciate a group of 5 or more.
I would suggest nixing the larger fish and keeping 1-2 schools of the smaller fish.
You could easily run a school of corydoras (5-7) with a school of non bottom dwellers like the barbs (maybe as many as 10).
Of course, you can play with these numbers some if you wanted one school to be larger or smaller. A single species tank looks good too, and allows you to have one school of pretty good size, such as 10 corys, or 10-12 cherry barbs.
Some people will tell you your tank can hold more, but if we want to be responsible owners, we shouldn't keep our fish in crowded prison conditions in my opinion.
Obviously you would have to take into account the fish you already have. My guidelines are for total stocking.