> > Rules against firing someone for being gay or a different religion are a great example of something a union would negotiate
> Except they're not, that's what our existing laws are for.
Ironically, unions are allowed to terminate memberships for reasons that would be illegal to use as grounds for firing someone[0]. In a closed shop, terminating a membership is tantamount to firing someone, so that literally means employees covered by a closed-shop union contract have less recourse if the union decides to fire them than they would if they never had a union contract to begin with.
Also, a democratically-elected body will (in theory) represent the majority of people whom it governs. If a majority of people want to target a minority religion or race or ethnicity, a democratically-elected body representing them will do just that. Unions actually have a long history of lobbying for unbelievably racist laws throughout the 20th century in order to protect their majority-white members[1].
I know this is unpopular to say here, but as someone belonging to a group that was explicitly targeted by these unions as a scapegoat, and who had their US citizenships revoked and property seized due to successful, xenophobic lobbying by those unions, I'm really sick of the pervasive assumption that unions will inherently protect minorities, or even minority members.
[0] This includes retaliatory termination
[1] The AFL is the most well-known of these, but they weren't the only ones.