The short answer is that no fish will do all the things you want.
Putting aside the fact zebra danios should not be kept in 10 gallon tanks (they're way too big and hyperactive to be cooped up thus) they are surface predators. They eat livebearer fry just as readily as they'd eat any insect unfortunate enough to fall onto the surface of the streams they naturally inhabit. No livebearer is going to produce enough fry to withstand the concentrated predation you're going to have in a tank as miniscule as this.