I think you’re being immensely hard on yourself. If we reflect on the gospels, the ones closest to Christ are the sinners who simply go before the Lord in humility. They’re the ones that prideful self-righteous people look at and then turn to God and say “Lord I thank you I’m not like that person . . . that hypocrite over there.” Nor I they the sinner who looks at the self-righteous individual and decides “I will not even enter that Church because I don’t want to be like that self-righteous individual.”
The reality is that the right attitude toward God is one that will come with the self-righteous shaking their head at you for your sinfulness, and with the others asking “Why are you even bothering anyway?” The self-righteous will accuse you of being lukewarm to build themselves up. But the reality is that the only person who can judge what’s in your heart is you and God. And having the humility to accept that you’re heart is divided is a step closer to God than in pretending your heart isn’t by being insanely hard on yourself.
You are a mixture of sin and virtue. Don’t let your good deeds lead you to decide there is no need for God. Don’t let your sins lead you to believe that you’re just not good enough for God. Humbly accept your divided heart. “Lord, I believe. Help my unbelief.” is very similar to “Lord, I love you, but not entirely. Teach me to love you more.”