Kerry was calling Bush an Idiot, not the troops.
Tim also pointed this out and then explained what Kerry should have said, when he had to clarify his joke.
"I did not insult the troops. I insulted their Commander in Chief - and I will go on insulting him until the day he leaves office. This president has abused the power and prestige of his office, trampled on the Constitution and sent thousands of brave men and women to be killed and maimed because of his own hubris. I apologize that I did not insult him more plainly and that I didn't clearly communicate that the insult also extends to the Vice President and the Secretary of Defense. Have a nice day."
The fact that Bush appears to fail to understand this, just confirms his stupidity.