You can't discriminate.
The law isn't always correct.
You can't discriminate.
You CAN discriminate --at least until now-- against certain behavior.
For example, a restaurant could rightfully eject a patron who smoked; or who insisted on spitting on the floor; or even who persisted in merely speaking so loudly he was disturbing other patrons.
Until recently, homosexual behavior was considered...a behavior. Now it's no longer a behavior, but a "protected minority" status.
Laws dating back to the New Deal and Great Society eras, civil rights legislation, environmental laws, and many other statutes, both state and Federal, undermine the rights to property, association, and self-defense. There is no right to be "free" from poverty or other peoples' preferences.
With respect to the matter at hand, homosexuals tend to favor "gay friendly" resorts anyway. They also prefer to live in liberal communities. They will choose Key West over Branson, and San Francisco over Amarillo. The same is probably true for Britain. Forcing hotel owners to become "gay friendly" is a restriction of their property rights and nothing less than social engineering.