He sounds like he's very insecure - like he's trying on different ways to be and he doesn't know which one to settle on. He's being influenced by peer pressure and he's acting very unstable.
Yes, you love him, but you also love your son. Your top priority is to love your child and keep him safe. To do this, you have to love yourself and keep yourself safe. It sounds like you share love with your parents, too. They certainly love their grandson. If it's safe to live with your parents, stay with your parents - even if/when he leaves.
He'll always be in your life because of your son. That doesn't mean you have to live with him. As you both get older and he matures enough to figure out who he really is, your relationship with him will mature, too. Loving him is very sweet, and when you love someone you want what's best for him. Maybe right now the best way to love him is to let him know that you'll still be around when his life settles down, but you can't ride his rollercoaster with him. Don't be afraid that your romantic love will change into a deep friendship over time - that can be rewarding too.
Short term, stay safe and settled, calmly set a boundary that he is not allowed to disrespect you by setting a role for you (you can choose your own path quite nicely on your own, thank you), set other boundaries on how he can contact you, see the boy, etc. Stick to those boundaries. Right now he doesn't seem to trust you to make your own decisions, and he isn't showing you much evidence for why you should trust him right now. Wow, I'm stepping off my soapbox now. I hope I wasn't being too pushy.

Take care of yourself