A very common problem brother. Now, the first step is to let go. It's easy to get very legalistic, it got to the point where I was wondering if it was a sin to read a swear word in my mind.
You have a lot of time to improve, about 100 years in fact - so don't beat yourself so much.
Pray when you feel like praying, read the Bible when you feel like reading, so none of it is forced.
Love is first for God, not discipline. If you haven't got to the point of being a Saint, do not worry.
Nobody is worth of salvation, but the least you can do is enjoy the life God gave you as God is not autistic. He understands that we need more time and more help than an Angel does.
Things will improve then fall back through your whole life. If you were a Saint from day 1 you wouldn't appreciate being one later on.
Those terrible habits will cease over time. Focus on doing things because you love God, and not because you fear Hell or do what you were told to do.
I hope I helped fam. Keep in mind at what time we live, it's easy to lose faith, and wanting to improve is already a great sign of your future.
I.X