I think you have a good question: "Why do we call ourselves Indians ... when we cannot stand our neighbours who belong to different religions and cultures?"
Even in big cities, people tend to live in blocks, defined by religion or sometimes caste. I have heard such stories from some Christian friends of mine in Chennai.
Sometimes these boundaries are reinforced by such "physical" issues like the smell of fish, or pork, or beef. I do know of instances of people refusing to sell to Bengalis because they will cook non-veg and therefore defile the house/ society.
There are also fears: Tamils staying in Bangalore, Sikhs in many cities in the North for many years after 1984, Hindus and Muslims in many riot-torn cities. Depending on the place, some fears are real, some are imagined.
But the ghettoisation is real enough. In most cities, you can learn from a local which area is populated by whom. And the boundaries are not too fluid.
I just wish you had had a different title, relating to the question at the end, not just your personal choice.
Let us not pour our hatred and anger, let us not deny the truth, let us ask "What we can do to be better at being Indians?"