I don't know you. And I know nothing about your situation. I've offered what is well-intentioned advice above, which will hopefully help with the issue.
But I don't think you realize that you're exhibiting the same behavior that your son is. That doesn't make you a bad person or father. Heaven knows I have a world of areas I need to improve on.
By blaming the behavior of others around you for the negative personality trait your son is exhibiting, you are doing the same thing. Ultimately, it is OUR job as parents to help our children learn and change their negative behaviors. Does behavior around them influence outcomes? Absolutely. Much in the same way that referees can affect outcomes of games.