He already had demon blood in him, had since his infancy
If he drank demon blood, he could save innocent lives
He had to stop Lilith from breaking the seals by killing her
Dean didn’t like it but Dean didn’t have any other viable solutions
The information the angels had:
Sam and Dean were to be the vessels
Sam would open the cage by killing Lilith
Dean had forgiven Sam (a fact which I believe may have altered the course of events if Sam had known)
Think for just a second about the fact that Sam was literally destroying is principles, his morals, severing his life line (Dean) to save the world. The monumental thing that I think most people overlook is that Sam whole heartedly believed he was saving the world and he was giving up everything to do so.
Now consider that the angels not only knew about everything but facilitated it all as well.
And Sam is left with the guilt and the blame, feelings that stay with him until finally he sacrifices his life, his soul, everything to jump in the cage and save the world. Here is a boy who made all the wrong choices for all the right reasons. A boy who has proved he would sacrifice himself over and over and over to save the world, to save his brother.
How dare you tell me that’s anything but excruciatingly heroic.