Son calling another women mom and me by my first name

I lost my kids to CPS a couple years ago because I went on a really bad drug bender and left them alone for 3 weeks. I'm not proud of it. I hate myself for it. My daughter went with her father and my son went into foster care since his dad is dead and no family would take him. It took me a couple years to get my shit together and I finally have and they have been back in my custody for 3 months. 9 months ago during visitation I noticed my son stopped calling me mom and started calling me Lily. He's 16 and I thought he was just hurting and we could rebuild. He still keeps in contact with his foster mom and has spoken to her on the phone in front of me calling her mom. He's asked if he could go with her to this and that and I've said no because I want to be his only mom. Which my therapist did tell me wasn't realistic. He turns 17 next week and wants to go spend it with his foster mom. He's mentioned moving in with her when he turns 18. My therapist recommended making a compromise that he can go with his foster mom as long as we also do something together and meet in the middle. I just don't want to meet in the middle with my own child. I don't want to be Lily to him. I don't want this woman to be his mom. But is compromising the only way to save our relationship?

Edit: Thx guys! I understand I'm being selfish. When I got sober I guess I figured I could just get my life back but I know it doesn't work that way.