Yes, I agree. It is time for a child therapist. Find one who specializes in working with young children.
You are a step ahead of a lot of parents who think that the child is the only one who is going to have to work. It sounds like you realize that you are going to have to change to help your son. That is a big first step.