Er...
If I'm not mistaken, the law allows for specialized 'discrimination' in order to, in plain terms, 'make up for past wrongdoing'.
You can think of it in this sense:
Because homosexuals have suffered at the hands of the heterosexual majority in the past, they are entitled to certain compensatory rights.
Much like there are racial groups and gender groups which are legally allowed to discriminate between patrons, if certain gay communities feel uncomfortable in situations involving heterosexuals or lesbians, we allow them the freedom to restrict access to said elements.
Please keep in mind what 'discrimination' means. Though it has a colloquially negative context, it refers only to the process of differentiation or the making of distinction. Discrimination isn't inherently wrong, we use it every day, in all parts of our life. Think about it and you'll see what I mean...unless you're one of those people who believe having different washrooms in restaurants and not allowing 7 year olds to drive is 'discriminatory'.
Then you can shut up.