One female guppy would be lonely and stressed, as these fish live in large communities in the wild. She would really be healthier and happier with a community around her. By the way, if you really have all the males out of the tank, your females will stop breeding within a few months. They can hold the sperm from previous mating for about 6 months, I think, and they give birth, on average, every 4 weeks (sometimes 3 to 3.5 weeks). So, as long as you remove young males before they can reproduce (probably at 3 or 4 months, but I'd remove them as soon as you're sure they are males just to be on the safe side), your problem is self-limiting.
I had heard that gouramis would work for population control also, but others have stated that any gourami aggressive enough to go after fry (as opposed to swallowing them if they wander in front of its mouth) might also hurt the adult guppies. Same with angels. Also, I don't believe 25g is big enough for more than one or two angels alone. Probably wouldn't work with angels and your other fish. As for bettas, it depends on the fish. My male bettas are both quick enough to catch and eat newborn guppy fry, but I don't think they could easily eat them more than a week old, and I don't think they'd eat enough in that week to take care of the problem, since you can't put more than one male betta in the same tank. Also, bettas have been known to attack guppies, because the colorful and flowing tails and fins can look like juvenile male bettas to other bettas. This is more likely with male guppies, but I have some girls with lots of color, and I wouldn't risk it.
I have a 47g tank with guppies, mollies, platys, and swordtails of both genders, as well as 8 corydoras catfish and 3 otocinclus catfish. I was worried about overpopulation, too, as I could have hundreds of babies a month from the 4 livebearer species in the tank. For me, overpopulation simply hasn't been a problem. I see a few fry from time to time, but I have yet to see any guppy fry last more than a week unless I take them out of the tank. And I've only ever seen one eaten - it just happened to be right at the top of the water when I was feeding, and an adult simply swallowed it. I have had one platy fry grow up in the tank with the adults. He is now about 6 months old, and has fathered some drops, because I have seen platy fry in the last month or so.
While it may sound counterintuitive, several species of livebearers in a large community tank may be the best population control. They will eat each other's babies as well as their own. If you reduce feedings for a day or two after you notice fry, the adults will be more likely to seek them out, and/or the fry will be more likely to die due to lack of food as the adults would eat what is available before the fry can get to it.
This may sound heartless, but I look at this way: this is what happens in nature, and is why livebearers have 20 to 100 babies a month. If they all lived, even in the wild, the whole planet would be overrun.