The attorney represents your son,not you regardless of who paid for the service. You cannot fire him; only your son can do that. It's your son's choice and his case, not yours.
You cannot "fire" the attorney. The attorney is ethically, legally and morally bound to your son, not to you. The decision to continue with the attorney is your son's to make, not yours. On the other hand, your son has the right to the attorney of his choice. If he cannot hire another attorney he should act quickly to ask his present attorney to arrange for the Public Defender's Office to be appointed. Although he cannot choose his P.D., some of the best attorneys in the County work as P.D's.
While this attorney does not have to answer to you just because you paid to hire him, there is something you can do. You can hire another lawyer, get your son to authorize the lawyer to deal with you to help him, and make sure the lawyer understands his mental challenges when you hire him, so that he knows why he needs to deal with you. Without knowing what state your son's case is at, I can't say whether the timing of a lawyer change is good or bad. Sooner is usually better than later. If the current attorney has actually stated that he thinks your son should be put away forever, then a change of counsel would be wise.