You're not alone in this. Unfortunately, people who don't work in technology will never fully understand what you do and conflicts like this will happen. I had major issues which parents in law-in-law coming to stay while I was working from home. I quite literally could not hear the person on the other end of the phone for all the noise they made, then they had a big row about me choosing to go work outside the house when they visited.
Some things that I learned from that experience:
- A major factor for them was feeling ignorant about what I was doing. They have always done manual-ish jobs and felt defensive/threatened by me doing a job like that and the possibility that I might be looking down on them. I wasn't, but it added fuel to the fire. Bearing this in mind, though, allowed me to be more philosophical about things they said/did similar to your parents.
- Some analogies did help. I liken programming to spending all day talking to the most pedantic idiot you've ever met. You have to explain EVERY LITTLE THING. It's exhausting in the same way that looking after a toddler all day is exhausting.
- Being careful about language helps to deal with them feeling threatened. Better to say "I find my work very tiring" than "My work is very tiring" because the second version they may complete as "My work is [more important and difficult than your work and] very tiring"
- Time helps. We don't have the same problems any more. Not so much through any dramatic change of approach, more through a slow growth in understanding
Also, I'd agree with the comment that you're working too much. If at all possible, reducing hours would make you better at your main job and better at dealing with the whole thing.