Would this difference not be explained by the fact that Switzerland is a non-EU country?
That doesn't explain why Switzerland would discriminate against UK nationals. It only explains why they can legally do so.
However, I think what's on their web site is in fact somewhat contradictory. It says in one place that British passports need to have three months validity, then in another place it says talks about "all EU passports" (which would include UK ones). Could it be that the three months validity only applies to the other categories of British passports - i.e., those with endorsements such as "British Protected Person", "British Dependent Territories Citizen", "British Overseas Citizen", "British National (Overseas)" etc?