Honestly, it's because there's a man in his backstory and that's it.
But it seems a lot of players want to be able to romance anyone.
I'm not sure that's true. I suspect that if you actually polled players, you'd find most of them would prefer the companions were, as you put it, hard coded.
I don't agree with you.
For example, Gale and Astarion are popular as romance characters, Wyll is not so popular. So, make Astarion or Gale gay, and you'll see the crowd come out with torches, figuratively speaking. The same thing will happen if you close Gale or Astarion for LGBT, the hype will be incredible. In a bad way ofc. I've already seen this on Mass Effect forum. Believe me. Anyway I believe that all characters can be traced to their true tastes. But give possibility of romance to everyone, and at least no one will complain.
I am hundred percent agree with Nyloth and ready to sign by each word)
By my impression, BG3 characters have absolutely no problems with "watering down" based on romantic preferences.
Their availability just gives players more freedom to get fun their own way, built up their own perception on the canon, and relieves from focus on the LGBTQ matter, which has no input into the plot, and rather keeps this place for plenty of the other story to uncover.
This way, I can finally take a rest from the real-world social agenda, and I am immensely happy that I don't have to think deeply through the reasons a character doesn't want to sleep with me based on what's between my legs. Can't tell for others, but for me "hard-coded" characters are no fun, and that's not a part of character's identity I would be happily explore in RPG.
So, I am quite pleased with the way Larian make the game so far. This approach allows me to see characters my way, not theirs, or anybody's else.
P.S.: also seemed to me that Astarion is bisexual, and a bit more into women. He's flirted with Shadowheart in party banters after all:)