Well if the angelfish only grows up to 8 inches then that would be 8 gallons used up. If the guppies get to 2 inches thats 12 inches then. The zebra danios(if your following the one inch of fish per gallon rule) could only make it with 4(2 inches each 2x4=8+12=20 inches) But since zebra danios like to be in groups of five or more then you could get five if you do water changes weekly.
*Note if the angel gets up to 5 inch or bigger, watch out as it might go for both the guppies and danios because of the small size*
EDIT: Angelfish, according to the profile here, only get up to 6 inches. So then you have room for another danio. So you could go with your original plan of
1 Angelfish
2 Guppies
5 Zebra Danios