Right. Tenancy agreements like these are joint and several liability which means that the landlord can sue either or both for sums owing under it. If you sons just moves out and does not pay the rent then the landlord will doubtless sue him for the money and be successful.
He can only terminate the agreement if the property is not fit for human habitation and this, to state the obvious, does not include not being able to live with the person co-named on the agreement.
His best option is to offer the landlord a sum of money to secure his release from the tenancy agreement. The release should be in writing, refer to the completed tenancy agreement and the length of the term/rent and confirm that in consideration of the sum transferred to the landlord he will release him from his responsibility to pay the rent under the agreement and shall not pursue him for any other sums. It's a matter for negotiation.
He could ask his girlfriend if she would be willing to accept a replacement tenant (which the landlord would be under a duty not to refuse assuming the replacement is reasonably suitable) but it does not sound as if she would do this.
His other option, and this will no doubt sound impractical and unpalatable, is to remain in the property but to set up in a different room as his bedroom and get the landlord's permission to install a strong lock on the room so that he could attempt to ignore her and live separate lives there.
If she assaults him then it is a criminal matter and he could apply for an injunction against her living there. He could then assume responsibility for paying the rent.
Sorry it could not be better news, she does sound unstable but it does not affect his contractual position I regret to say.
If this is useful please kindly click accept so that I may be rewarded for my time. It will be gratefully received and you will be free to ask follow up questions.