This is a problem that I'm sure most introverts have and it because that we are not very proficient in the ways of society.
There are certain rules (I don't know who makes these rules) that people don't like broken in society.
Let me ask you a question:
Why is it that everyone appreciates your honesty until the time that you are honest with them and then you are an arsehole in their eyes?
I suppose at the end of the day people don't want to hear the truth. They would prefer that you are diplomatic. Like this:
At the end of the day, there are certain things that you can and can't do in society and there are certain things that can and can't say. You have to decide what they are.