I am realizing I was a bit harsh in my first post to you. I see now that there is actually something else entirely bugging you, and I quite understand.
I sympathize with not having a mum.
I moved to the uk when I was 21, and I remember sitting in a coffee shop in Oxford Circus looking at a young woman having lunch with her mum, and I think I have never missed my mum more than at that moment. She was alive of course so it cant be compared, but I have spent a good chunk of adult life only seeing mum for the holidays, and not spending much time with her. Never really got to be a young woman with a mum. First because I chose to move to Britain, and then because she is now (aged 75) in a nursing home with advanced dementia and dont know who I am.
Your mil will never replace your mum. Your sil is 22, young, and she has her mum, and mil will be a mum to her. Hard to watch when you also want such a bond and such a relationship. And it is emphasized by mil not wanting to bond with your baby the same way as she is looking forward to her other grandchild. It is sad. But there is nothing you can do with it.
You need to develop some coping strategies.
If you are at hers, and you are asked to go shopping. TELL her "ok, but James stays behind with you, great chance for the two of you to have some quality time and we will get back quicker". If she says no, just sit down again and say "Oh, ok. We will be leaving shortly anyway, so you can get on with your shopping then". It is HER shopping!
You cant force her to babysit. You cant force her to select presents. But you can tell her "Joyce, I know it would be extra special for James if you gave him the present, so lets go together so he can see that you are selecting for him and giving it to him". Emphasize that she is important to James. etc