Castiel said drinking demon blood would strengthen the vessel and stop it from exploding, but wasn't Sam Lucifer's true vessel? So why would he need to have drunk demon blood? I'm pretty sure Dean wouldn't have had to if Michael possessed him.
Yes Dean would not have to drink the demons blood for Micheal, but Lucifer is different than Micheal as he is a fallen angel and he gave birth to the demons, also while he has the powers of a archangel he is also different than them in more than a few ways, like when they go to Detroit to find him its quite cold in a area around him, this doesn't happen with other archangels either.
I always thought it was the differences between the Archangels Micheal and Lucficer is the reason why Lucifer's vessel had to drink the demons blood. Although I've always kind of assumed if Lucifer would have taken Sam without drinking the blood the same thing would have happened just Lucifer wouldn't be at full strength right away. They never really question Cass either on why Lucifer's true vessel needs the demon's blood the other guy makes sense not a true vessel his body lacks the capacity to hold Lucifer for long and the only thing that can delay it demon's blood.
So I didn't really give a answer but my best guess is that its because Lucifer is a fallen angel and the creator of the demons, so his vessel regardless of being true or not needs to ingest demon's blood. This idea follows with what happened earlier in the series with Azazel giving demon's blood to all the infants close to their birth as a way of preparing Lucifer's true vessel.
I don't think he HAD to drink demon blood. I think it might have been to strengthen Sam so that when Lucifer possessed him he would have a small edge over Michael. I think the demon blood was just a way to manipulate Sam by turning him into an addict.