I love the way Astarion's story is written. He is an unreliable narrator who keeps saying half truths and downplaying a lot of how he actually feels. A lot is not said and is left for the player to interpret.

Here's an easy example:
If you romance him and he doesn't ascend, you can ask him how he sees your relationship. He answers: "Uh, nothing special, of course. You're only the first person who I truly care for. Ummh..."
I believe that a) this relationship is very special to him, b) it's at least the first time in a very long time when he is in a healthy relationship where the partners are equals, and could be the first time ever and c) he doesn't actually mean that he never cared for anyone else, because we've seen how emotionally he reacts eg. when he finds out what happened to all the people he lured to Cazador. None of this is explicit in that answer, but I think it's still obvious enough.

Since Astarion's storyline is full of ambiguous comments and different players get to hear a very different set of them, I'm not surprised that players have a very varied interpretations of him. I tried different versions of his dialogues, so I got to hear quite a lot of his lines. Personally I think that however you choose to play his storyline in Act 3, it's still coherent. The next reasoning is full of spoilers about his storyline.

I believe that his main motivator throughout the game is fear. It keeps coming up in his comments: He seduced Tav because he needed protection, he tells that he is terrified by Cazador to the point where he would choose to be a slave to anyone but him, he tells that he needs to kill Cazador because otherwise he'd live forever in fear, he tells that if he ascends he wouldn't need to be afraid of anyone anymore, he keeps telling how scared he was during those 200 years and how he begged for anyone or any god to save him, and when you enter Cazador's mantion and ask if he is sure about this, he tells that he has never been so unsure of anything, but that he has to face him or he will never be free of the fear. If you read his mind or get insight, also the narrator tells about how deeply afraid he is. Plus, if you think about how his story begins in the game, you know that he didn't have a redemption story before that. He was trapped and tormented untill suddenly, without his agency, he was somewhere else. So when the story begins, it's reasonable to assume that he truly is afraid of Cazador and what if he has to go back to all that and what's the next bad thing happening to him in this world that has so far been violent to him.

So from this perspective power is a solution for the fear. If he is all-powerful, no one can hurt him anymore. If I don't remember wrong, he actually says so later on if he doesn't ascend and reflects that power probably wouldn't have actually helped him overcome his difficult emotions.

If he does ascend, he does so with tremendous cost. We have seen how he reacted when he saw the other spawns, and now he has slaughtered all of them just to get rid of his own fears and to be powerful. Personally I don't believe that power erased the fear, however. From that point onward his lines have two distinctive features that doesn't happen if he doesn't ascend: He refuses to reflect on what happened and starts to act protective over his position in power. So from this point of view I think it makes perfect sense that he wants to make his lover his spawn and refuses to make him a true vampire. This way he can control this aspect of life which has become so important to him. This way Tav can never leave him and never challenge him. He has told us before that vampires normally don't want to make other vampires, because they could challenge their power and thus a vampire's biggest threat is another vampire. If you think about his actions through fear motivator it's quite understandable that he demands a full control over this relationship. You see it in real life: People who are trying to forcefully control everything often do it because they try to control fear.

While it's logical, I also think that the writers could have given the player the opportunity to affect his decision on this matter. I mean why not. We are able to try in so many other stories and it would be logical that Tav would mean enough for him that he could be persuaded - especially since the ascending has just happened. Besides, it's still a game and game writing normally tries to find reasons to give the player a say in important matters.

So getting back to the OP's wish for a happier ending. Personally I'd liked if there was a way to affect Astarion and help him find a healthier way to deal with his past even if he ascended. I understand that it can't be a truly happy ending after what he did to others, but at least some chance of growth would have been interesting.

The road where he doesn't ascend feels more like the good ending, at least to me.
Then he starts to reflect and becomes more at peace with himself. It's bittersweet since he has to return to the darkness, but he seems to be all in all happier about himself.

Also, if Astarion faces Cazador alone and makes the decisions himself, he doesn't ascend and frees the spawns. Sure, logisticly it'd be a bit more tedious to have some random npc to look at his scars for him, but not... you know... much in the 200-year-scope. So while I believe that this storyline is written this way simply because otherwise the scene would lose momentum, I kind of feel that it also reflects how he feels. He'll only ascend if you are there.