We are all justified in what we say if one believes in his words. I see this a possible attempt on the free-speech theory. A person may not be clear or subtle when he or she speaks publicly, however, they have a right to say it without serious repercussions to the individuals' well being.
Kerry was right to speak out on the chance to preserve peace. It's a tough situation and very tense. In some ways it's like telling your little brother that although you have his back, you're not going to automatically accept it when he does something boneheaded. Israel is our ally, but we can't blindly support everything they do.
Every politician has ideas and opinions which seem controversial to some people, it's just a side effect of democracy. The situation in the Middle East is already a polemical topic, so it isn't surprising that some disagree with him. Fighting and disagreeing will never lead to a solution, we need to respect ideas.
John Kerry's speech about Israel and the settlements was justified. The settlements are creating a huge issue and are considered illegal by many countries. It is destroying any hope for a two-state solution. Not only that, the amount of resources that the state of Israel diverts to the settlements can be better spent. The stopping of the settlements will improve Israel's relations with many countries and even help investment from them.