I don't think you'll solve the not speaking until you find a way to be able to give him some firm fair boundaries.
Children need to know that the adult caring for them is in charge. They need to know what is expected of them and what will happen if they don't live up to those expectations. If they don't have this, they feel insecure and their behaviour escalates as they try to push and find the boundaries. Your DS currently has an added reason to feel insecure, in fact two; the new partner and the new baby.
I think you need to ignore the not speaking and carry on cheerfully offering him opportunities to do nice things but allow him to miss out on those things if he chooses not to communicate with you about them.
In the meantime, you need to decide on some house rules, some ways that he can earn treats and some sanctions for breaking the rules.
Make them simple, e.g. be polite, be tidy, be ready for school on time etc, and make them positive.
Make the sanctions natural consequences of his behaviour, e.g., helping you with some housework because you had to spend time dealing with is behaviour or missing out on a meal out because he can't be trusted to behave politely at the table.
If he loses a privilege or earns a sanction, follow it through whatever the consequences. He needs to know it will definitely happen so that he can decide whether to push it that far or not.
While doing this, remind him constantly that you still love him very much and the new partner and new baby won't ever change this. Talk about times you've enjoyed together in the past and make plans to do things in the future that he can look forward to.
Remember that his not talking is an attempt to communicate with you in itself and it is probably not that he wants to move out. It's more likely to be that he is feeling insecure and needs to know where he will stand in the new family hierarchy.
Good luck 