Gender is a social construct because anyone can wear lipstick or boxers, anyone can give a blowjob or go muff diving.
Heterosexuality and homosexuality were labels invented only in the 19th century. Before then, and even now, these are not identities that define people but acts that people do. That's why there's so much confusion over who is hetero and who is homosexual. Because nobody is either - it's like saying all people who eat spinach are spinachists and all people who eat icecream are icecreamists. Before, these were acts, now they are identities. Many people may like both spinach and ice cream at different times with different people, but they're forced to identify as one or the other. And if the spinachists are given more rights and power in a society then even those who may like ice cream now and then may be tempted to identify as spinachists to get some of that social power, even if it means denying their own taste for ice cream or the rights of those who prefer ice cream or are allergic to spinach.
That's what makes it socially constructed.
As for biological differences being the root cause of social constructs, yes and no. Some women don't menstruate or can't have kids; are they not women? Some men shoot blanks or can't get erections; are they not men?