People don't like homosexuals because they violate gender roles. That's the reason.
Homosexuals are rebels against society. Deviants who don't conform. Outsiders who resist social pressure. Threats to tradition. (Don't conform to what? Gender roles.)
The group (society) disapproves of disobedience towards the group. Our culture offers certain roles in society for people to live. Society is unkind to people who don't choose and live one of these offered social roles. Other lifestyles are considered illegitimate and receive negative treatment. To be treated well, live in a way the collective approves of.
Disliking homosexuals is a small part of a much broader problem. Conformity – and the ways it's enforced – goes well beyond gender roles.