The gate agent should have done one of following things:
1. move the men to the back of the plane, even if it would separate them (probably no seats next to each other available)
2. upgrade the woman to Y+/J/F if possible
3. If neither of those things are possible, simply tell the men that either they live with the fact that a woman is sitting next to them, or they do not board the aircraft.
Regarding the service by female flight attendants: either they accept the service, or they receive no meal/drink service at all.