The reason your son has this separation anxiety is because he isn't around a lot of people. If you were working and had him in daycare, he wouldn't be like this. He might cry for 10 minutes when you dropped him off, but that would be it.
Because he's with you almost exclusively, he gets upset when you leave.
Babies his age don't understand the concept that if you leave, you will come back. It's a developmental thing. You know the game peek-a-boo? The reason people play this game with children is to help them learn that just because they can't see someone or something, doesn't mean it's gone for good.
From your description, that your mom calls you and asks you to come back, the posters who say she can't handle him are actually right, whether or not you want to see it that way. She likely had more patience when you were a baby and understood that she needed to get away and have some time to herself. Now, many years later and the shoe is on the other foot, she calls you and tells you to come home instead. You can choose to let go of yourself and hold yourself hostage to a baby who cries in your absence, or you can choose to go out some, give the baby the chance to learn to do without you some (which, btw, is healthy) and expect your mom to handle it better.
Either way, you need to just put aside the guilt. You aren't gone all the time. You aren't judging other people for whether or not they take time for themselves. You are thoughtful about your mom. You aren't doing anything wrong. So put the guilt away and decide how you are going to handle things.
Having a baby doesn't mean never coming up for air and taking some time off for yourself. It does mean that you put your baby first most of the time, and figure out exactly what you will do to give yourself a break in the most judicious way you can. For the most part, if you have to ask how to not feel guilty, it already means you are a good mom. Very different from the people who put themselves first as a matter of course.
Dawn