Was it necessary for the Kais to let Gohan's energy be drained for Buu? I'm confused as to why Supreme Kai paralyzed Gohan for his energy to be drained. 

Couldn't they have just eliminated Babidi so that Buu wouldn't be resurrected?
If I remember correctly the reason was because the Kai didn't know where Babidi was hiding. He used Gohan as bait, and then was able to follow Babidi's henchman back to the wizard's ship. If he hadn't done that, who knows how the story would have unfolded from there. 

Also, it wasn't just Gohan's energy that restored Majin Buu, but also energy taken from the fights within Babidi's ship.

Knowing the characters of the Saiyan Z-fighters, they wouldn't have stopped Buu from resurrecting anyway. They would just want to fight him.