If you've been talking the talk for 2 years without walking the walk, then there is really no point in trying to come up with a better talk now to 'reel her back in'. That seems to be the underlying problem, in general. What you say to her now doesn't matter, because your words have proven for 2+ years to have little value, they don't mean much. So go walk the walk. It's possible that if she comes to realize X months from now that you have actually been walking the walk, then she'll believe it. What is definitely possible is that if you start walking the walk as far as making Jesus the center of your life, your spiritual life will improve significantly, which will override any temporary woes in your worldly life. Nothing BAD can come of it, but good things WILL come of it. But nothing good can come from talking at her now, no matter what you say. So that is the practical side of why you should just leave her alone. Trying to find the 'right words' to 'get her back' is just manipulation, and she will recognize it, and possibly just become more convinced that you are not genuine, i.e. you will claim that you will do better only in order to smooth things over but not really mean it.
In the meantime, maybe take this lady down off the pedestal and contemplate what you learned about what YOU like and need in a relationship. Maybe you will find a better match for YOU in the future once you are right with the Lord.