But then she eventually find out later who Marigold really is, Mary can be mean and cold hearted and cares very little for Edith, but she certainly isn't stupid even though it took a long time for her to find out, but I think its because she cared so little for Edith, which is why she didn't really suspect until later on.
But at least Mary likes Marigold in a way, in Ep 6-02, Mary called Marigold darling and in 6-06, she says Marigold is sweet. However most often, Mary addresses Marigold the same way servants address a child born to an aristocrat, Mr/Miss, she calls Marigold Miss Marigold.
She does call her Miss Marigold when talking to the servants, but whenever talking with Tom or any among the family, she does call her Marigold.
I dont think that she "hates" Marigold, but in the other hand she doesnt very much either, if you noticed she said "sweet" Marigold when she was talking with Anna with the intention of pull some information...and Anna was stupid enough to play her game and get caught...