As for the apartheid analogy, there's some truth to it and also many differences from what happened in South Africa. The big elephant in the room is that no Palestinian leadership, ever, in the last 100 years actually accepted Zionism / a Jewish state in any kind of borders. And many kinds of partitions were discussed throughout history. So settlements or no settlements we are left with a security control / martial law that Israel will have to keep over the Palestinians for its survival as long as this continues since the denial of Zionism is often violent. Is that apartheid? Not in my eyes no. But the settlements are (and are very controversial within Israel btw, and some of them were dismantled). Is this reason enough for anyone who identifies as a Zionist to be attacked/harassed automatically without even hearing what he has to say? For you it seems like it is. Shouldn't then Americans be spat at as soon as they open their mouths over what happened in Iraq? I mean some people say Americans murdered one million people for no good reason why does this get a pass? The Israeli Palestinian conflict is peanuts compared to some of the adventures the U.S had and Israel at least has a good reason to fight, what's the U.S excuse? Yet its beyond the pale for Americans to be boycotted/harassed simply for being Americans - not now and not when the war was going on.
The situation in Israel is tragic and complex and needs real solutions, but the anti Zionist crowd that sees everything as good or evil (Israel of course is evil, the Palestinians good) has it all figured out.