If you google this question, you will find numerous answers, including many sermons and writings from the saints and Church Fathers. So I assume you have read some of those already and are still not satisfied. If not, you should do that first.
Here is what comes to me when I read your question today:
Did God “have to” die for us on the cross? Actually He didn’t have to. Why should He? He is all powerful. We are hopeless. He could wipe us out and recreate something better, no?
But here is the question: it was not He who had to die, but it was rather we who killed Him. If we didn’t rebel against Him, He would never have to be killed. Note, He didn’t make us kill Him. We did not have to kill Him. But we did, and He chose not to resist so we may understand the depth of His love.
It was because He loved us that He refused to control our free will, including our freedom to reject Him and to remove Him when the truth became inconvenient or difficult to accept.
Why? It is not too difficult to understand actually. In fact, we see it every day in families. It is the same drama played out day after day when parents struggle to love their children, who often don’t understand their rules as acts of love, but rather as forms of restriction and imposition. How many parents suffer lovingly in the hands of rebellious children? Though it is not crucifixion, yet often enough it is still extremely painful, even a bloodless martyrdom of love that could last for a long time.
Why? Because of love. Anger only multiplies anger, violence only multiplies violence. Only love can conquer evil, and such true love without suffering does not exist.
Yet because Christ did not just die, though we did choose to kill Him, but He made use of our violence to take to Himself all our sins, and so put all our sins to death along with Him. And so when he rose again, we were all set free from our rebellion. He demonstrated that as ugly as our rebellion was, His mercy is greater still, and it is available for all who repent and believe in Him.