The mandarin can be pretty much be scratched out, as they usually do not eat any prepared or fresh food, only the pods which live on the live rock. They need a large and long established population of pods to keep them sustained, as they are constantly picking at the live rock eating pods.Obviously if those pods run out, chances are the mandarin will starve to death (unless it's one of the few that will take other foods). It is possible to keep one in your size tank, however, it would need to be at least a year old, have plenty of live rock and have a refugium to give the pods someplace to reproduce without the threat of being eaten. You also won't be able to keep any other fish which feed on pods, as the mandarin almost always gets out competed for food.
I'm not sure, but I think you may have problems with the two angels getting along.
Every butterfly fish that I know of gets to big for your aquarium.