Ok please correct me if I'm wrong here, but there is no good part to Astarion. He is undead. There is no personality or soul left in him. He is an artificially animated meat bag. "He" could not have been tortured for the past 100 years or whatever because "He" ceased to exist the moment he was made a spawn. Kill Cazadore to free him and all you get is Astarion as a full and more powerful undead. The only way he comes back to who he use to be is the use of a Wish spell.
There is no gray here for Astarion, undead are evil and soulless(literally). The only realistic way helping Astarion out ends up is with him turning Tav into his own vampire spawn mind controlled minion once freed from Cazador and a full vamp.
Personally I find Astarion to be the worst written and conceptualized companion in the game.