The mother was shouting at her small child that you never listen to me. At that time the child keeps quiet as he feels he does not have enough power to challenge his mother but when the same child grows up all that suppressed aggression comes out in one or other form and he starts shouting back. The mother thinks that child has forgotten all the love and care he received from her and is a thankless person but she forgets her own behavior and we have a tendency to incline upon negative more than positive. The mother in law shouts at her daughter in law and in return she expects her Daughter in law to respect her by heart, do you think actually it is possible?
If someone is younger than you does not mean that you treat him/her lesser than you. He also has same respect/ego/desires/needs and he also deserves to be treated equally. We keep getting attached to different roles we play and we all have perception of different roles. We think a father should act like this and a child should act like this, now that is your perception and the child is a different individual and will have own perception. He does not understand that as a child he is suppose to play a different role. By the time he understands this, you have lost the battle as he has different view of the role played by you as he cannot think the way you want.
YOu need to treat everyone the way you want to be treated that includes your 2 year old child and the daughter in law for whom you think she does not have a voice or should not have.