They made Mary a lot nicer in season 6 than season 5 and I'm not entirely sure I like it. She's a bit too perfect when she's nice. Season 5 Mary only respected those who could make her respect them and was a little selfish and very status-aware. She took whatever she wanted, because she could, and she was haughty to those she considered beneath her. Morally, I hated the way she treated Edith in season 5 - their "rivalry" from the early seasons was one thing, but by season 5 Mary was such an established woman who was winning at life and Edith was the opposite. It seemed like Mary was just kicking down when she picked on Edith, who didn't even fight back. Not nice, but it made her character less perfect and less "standard", which was a good thing, in a way. Realistically, her change in attitude in season 6 reflects how much Edith has caught up in different areas of life and how Mary is the one who is feeling a little disoriented now. But her change in attitude was so sudden. I think the real reason might be that season 6 is the last season and the writers want us to remember the characters fondly. But I enjoyed watching Mary be a bit of an asshole tbh, given that she's fictional and all. We often see mean older women on TV. We never see what they were like when they were young. The writers could have made Mary become mean, but they seem to have decided to take her in a kinder direction.
Edit: Okay I did draft this while I was in the FIRST half of season 6 😅 Guess I got my wish later. In terms of staying true to the character I think it was the better choice, though my heart aches for Edith. I have 1 1/2 episodes to go and hope things work out...