“Most private/government pension plans also require at least 25 years of service. The military should require the same. That would seem like a reasonable trade-off.”
Only about 17% of the people that enter active duty get to 20 years. They have to go through High Year of Tenure (get passed over 2 times for promotion, you are gone). Reduction in Forces (RIF), then if you do get to 20 you will probably face one these: Selective Early Retirement Board (SERB). If you are one of the 17%, you have probably moved 7 or more times. Some of those assignments would be unaccompanied tours. So the beatings on military benefits will continue until morale improves.
Please remember the rest of my argument. Military vesting should start at 5 years. So once you've reached that time, you'll get a pension. Five years wouldn't get you much. But the more years you put in, the greater your pension.