He should not scream at you for his own actions no matter what.
It may be that he is codependent (even if it is done subconsciously).
He may not be able to say no (because of fear of rejection).
Regardless of the reasons for his behavior, this is something that really needs to be addressed. It does not seem that he is being too logical when he's talking to you about it. Have you suggested some sort of a way to remedy this to him? He has to be open to make these changes. If you are dealing with a codependency issue, it is harder but not impossible to handle this. Would he be open to counseling or talking to someone objective to get help?