Make an appointment with a child psychologist with psychoanalytic orientation to help you find what is going on.
You are a really good mom to take this seriously and to want to help him now and not wait. This is about your son's development and health and not about blame