"Ea a cumpărat bere pentru bărbații" should be accepted. The sentence says "the men".
No, it shouldn't. Literal translation doesn't always work. In this phrase, for example.
Because it follows a preposition (pentru) you only use the indefinite form (bărbați) not the definite form (bărbații)