I know somebody who adopted a little boy who has always had problems. When he expressed his attraction to little girls, well, he has a younger sister and he was put into a state Residential Treatment Center (RTC). Have you called social services? I think they would take this seriously enough to help you. I do not know if a therapist can help in this area. If you can't afford to pay for an Residential Treatment Center (RTC), you probably need to contact the state.
Like your son, this little boy, now thirteen, had mental health issues all of his life and was on all sorts of medications...they did not help. It would be the safest to get him out of the community before something happens. (((Hugs)))