Mmmm.
I can see both sides.
I live in a bilingual context too. My two, when toddlers, used to hate it when DH would try to speak to them in English and, like your DS, 'demanded' he spoke to them in his language. They soon grew out of it but I think it was really important for them at that time. Every child, family and linguistic context is diffetent though and I have friends in a similar situation whose children didn't seem bothered which language got spoken.
For context, my DH and I have always spoken his language ( I live in his country).
By all means continue to speak to your DS1 in English, but if your PILs are in the room I would suggest repeating it in their language so that they don't feel excluded. This is what I do and it seems to work.
I remember my step mother had a problem with DH and I speaking his language in the early years. Like your MIL she found it rude, felt excluded and even said she thought we were talking about her. We weren't, obviously.
We always spoke English when we were really 'with' them, but like you sometimes reverted to DH's language spontaneously, when we were more 'apart' from them or when he hadn't understood something.
I explained this to DSM, and tried to make more of an effort. She felt more reassured and got used to it, and DH's English improved so it became less of a problem.
Not sure what to say about the trust issues with MIL. Asking her to give DS2 a bath was a nice gesture.
Building a relationship with your in-laws takes time. In my experience the cultural differences have made it harder. I know my MIL still looks on me and my SIL as the ones who stole her precious sons from her. The fact that I'm foreign makes it worse. They were worried sick that DS1 would never learn to talk because I was 'confusing' him with English 🙄
So....lots of patience, empathy, more olive branches and do what it takes to become proficient in their language. But again, stick to your guns re speaking English to your children while they are in this funny stage, at least.