The reason why Astarion works and Halsin doesn't: The ability and willingness of personal growth and challenging one's own beliefs.
The traumatized (arguably morally dubious) vampire excels at this
The wise druid with a vast life experience and knowledge, who is self-deprecating and shows signs of self reflection apparently rolls a critical 1.
You would think the modifiers would apply XD
Exactly, but I would take this further - after Act 2 Halsin has nothing to contribute. He was supposed to be gone by then but people insisted and it really makes little sense, he really should stay in the hopefully "former" Shadow-cursed lands and help the land heal. That's his damn job.
"We want to romance halsin" - Larian should not have capitulated on this because he doesn't fit into the Act 3 story at all. That he has the least lines and interaction should not be a surprise to anyone - but for some reason it is.
Way better, to have romanced him in Act 2 and said farewell with some steamy Bear druid Sex or whatever and then he stays to focus on healing the land.