I don't think symbols like this should be compulsory - I find 'corporate values' a bit distasteful, really.
I would happily wear the rainbow badge, but I'd support anyone's right to not do so. If I was working alongside someone who had bigoted views I would choose to not associate with them outside of work, but I would still stand up for their right to not wear the badge.
Symbols like this are important. If I was working with someone sexist, and we all had to wear something celebrating women's rights I would feel like it was cheapened by someone who disagrees with it wearing it because it's uniform. Equally, if I'd found the organisation to be not great at dealing with sexism in the workplace I would see it as unfair that they get to appear to the public that they believe in something when they don't follow through.