I'm very moved by your story. You're a real survivor who is going through a lot.
Keep Up The Good Work
Hang in there...nearly eighteen! I can't say if your boyfriend is good for you. But, you sound like you are taking great care of yourself -- getting clean, stopping the sleeping around, thinking of your future, trusting in God.
You know, if nothing else, your boyfriend was a great motivator for wonderful changes you've made in yourself.
Twenty years is a very big age difference. Yet, you sound much older than your years in terms of your experiences and the things you've had to get over.
He's Been A Great Friend
Both you and your boyfriend have made great strides in taking better care of yourselves. Only you can really know if he is THE ONE for you. He certainly has already been a great friend and for true love that is saying a lot.
He sounds really good for you in a way your "friends" and family have not been.
Keep taking care of yourself.