YANBU, she'll be so much worse when you aren't there. Don't know why some people come on here to pick apart random turns of phrase that OP has used - the gist of the situation is clear!
When it comes to your in laws - don't justify, argue, defend or explain - just politely say that you are happy with the arrangements you've made and don't need their help with childcare, thank you for offering. I think it is better not to acknowledge manipulative displays of emotion.
You probably do need to have a discussion with your husband though. Do take care to explore his feelings as well as your own. But I think at the end of the day you put your child's health first. His mum has consistently demonstrated her emotional need to offer/give your son unhealthy food. Perhaps you could agree to revisit the decision if she consistently stops doing this. But then there is also your FIL's smoking. I wouldn't want my young children in a smokers home unless they only smoke outside and change clothes (even then this would feel like a compromise) - but you won't be able supervise that if you're not there either.
As you have said they still have very regular contact with your LO and a good relationship. Many or most children don't have regular childcare from their grandparents or even see them every week - you're absolutely not depriving anyone.
FYI my mother in law shows love by feeding (and this is reflected in the whole family having problems with portion size, healthy food and their weight) and will give my children sweets, chocolates, crisps and pudding +++. In fairness to her, she does actually listen to an extent and gives less than I think she would like to! She's not half as bad as what you describe. So I mostly let this go - as we see them infrequently and yes, grandparents can treat their grandchildren (also she is respectful enough to make some effort!)
However, as your child grows it's even harder to keep them away from junk without depriving them of normal experiences (for example, party bags, choosing a treat at the shops with a friend etc). Every week or multiple times a week being giving junk instead of meals as a baseline from their caregivers, on top of all the usual exposures - that's too much and likely to significantly impact their health, tolerance of less sugary foods, teeth etc. You are not wrong to protect your child from this.