A non-religious argument might be: One might suggest that in the traditional family structure (the extended family, not the nuclear family) homosexuality is less valuable to the clan as a whole and hence less moral, as it interferes with the creation of political/economical alliances, etc. Some have tried to argue that not intentionally not passing on one’s family’s name is disrespectful (another form of immorality) towards one’s parents.
Celibacy, as practiced by, say, Jesus and St Paul, would seem to suffer from the same disadvantages.