No. A twenty gallon is not enough for one of any of your species of fish, I'm afraid.
For a single goldfish (assuming it is a fancy variety) will need somewhere around 30-40 gallons, add roughly 10 gallons per additional goldfish. For non-fancy varieties (such as comets), you should be looking at a pond, no less than 150 gallons for the first specimen.
Angelfish are deep bodied fish and as such they need very deep tanks. Nothing less than 18 inches in height. As far as volume, for a single angel, you need around 30-40 gallons (though this is the shallow end and debatable), for a group, you really have to look at dimensions and not so much volume, as they get territorial and need their own space.