Why? Well, he was a team player. But also:
Powell had cautioned Bush a few months earlier about the consequences of invading Iraq, and he had gone further in private conversations with others, saying he thought the idea of going to war was foolish on its face. But the secretary of state had never expressed this outright opposition to the president. And although Powell would not admit it, Bush’s request that he be the one to make the case against Hussein to the U.N. was enormously flattering.
Even Cheney had explicitly acknowledged that Powell was the right man for the job. As the secretary told one of his top aides: “The vice president said to me: ‘You’re the most popular man in America. Do something with that popularity.’” But, Powell added to his aide, he wasn’t sure he could say no to Bush anyway. “There’s only so many times I can go toe to toe with the V.P.,” he said. “The more I think about it, the more I realize it’s important to keep the job.”
If I'm reading this correctly, Powell believed that his ability to be a counterweight to the hawks in the administration ultimately meant that ... he had to make their case for war for them. It's a terrible, tragic irony. But it is also born of hubris: No one is indispensable, but thinking you are can lead to awful compromises. Powell, ultimately, might've been more effective by making the anti-war case to Bush and resigning.
It's also a lesson for well-intentioned people who might still be serving in Donald Trump's employ. If you're not prepared to resign on principle, then your ability to be a good influence within the administration is probably much less than you think it is. You're going to get rolled. It can happen to the best of us.