Spike has killed thousands of people. Can you honestly claim that you would treat someone like that as just another guy or even cut him any slack? Xander has already cut Spike a lot of slack by not dusting him. It boggles my mind that Xander is called bigot for not seeing vampires as cuddly. Why don't you call Buffy a bigot for indiscriminately killing vamps on sight (except when they had a plot shield like Spike)? Every character in the show treats vampires different than humans but somehow only Xander gets branded a bigot. Okay then...
Obviously we have a very different opinion on Spike, so this will be less a debate than an argument if we keep going. Since I'm not fond of those, I'd rather not. However, to answer your question, both Angel and Spike
were not simply vampires on the show. They were not just big bads or people Buffy dusted. As such, they became characters, and characters have to develop and grow or else they serve no purpose. Because of that, I don't just view them as "those two vampire guys."
As far as Xander, he couldn't shift his views to fit the circumstances--he was too held back by his prejudices. It's not just about Spike, either. It was his attitude toward Buffy because of her affair with Spike; he had absolutely no right to treat her the way he did. He was
so unaccepting and judgemental. He treated Anya exactly the same. "I can't even look at you because you let that evil, soulless thing touch you." Nice words from a man who
left her at the altar. In that situation, both Spike and Anya were hurting and looking for comfort, and Spike didn't deserve to have Xander trying to kill him for it.
Plus, Anya was a
demon for a thousand years and killed and tortured men. She reverted back to a demon in S7, and before then she had never once shown remorse for a single one of her victims. But no, it's absolutely fine because it's
Xander dating her and not Buffy. Also, it's completely acceptable to forgive Willow, who killed Warren and nearly destroyed the earth. Everyone's allowed a huge death toll, it seems, but vampires. That is bigotry.