I think I can explain away the spirit plot hole in two ways.
The first alternative, spirits are much like nature or like animals. Wild animals don't really care if you're kind or not, they judge that themselves. If they vibe with you, they vibe with you. Some could be subjugated through fear, others through kindness—but they're the end-all be-all of the decisions.
In Norman's case, he never had a chance. His soul was so pure that the demons couldn't help but be attracted from the get-go. The spirits didn't even get a chance to decide whether they like him or not, he was already bookmarked by something they couldn't afford being near to.
Now, with this asshole … well, given that the spirits reserve judgment on whether or not they should support someone, they're probably already in too deep. After all, the manifestation and mastery of magic still depended on the user, not on the spirits—they just lent their powers to make things manifest as instructed (that's why the rival dude could still develop new spells).
The second alternative, the spirits couldn't sense souls the way demons did. In other words, they didn't voluntarily choose to assist in good or evil, they just stick around humans and give them powers.
They simply couldn't get near Norman because Norman was already surrounded by the demons, given that his soul was so pure that the demons coveted the thing.
Either way, I feel like it's not necessarily a plot hole. Yet. We weren't given any further worldbuilding with the spirits, after all (not even about gods and goddesses, like the Water Goddess that Crocell ate, or about the Supreme God that the angels serve). Heck, it's even suspicious that God and His angels haven't acted yet to the clear rise of a new Demon Lord.
I really look forward to the continuation of this. Thanks for the TLs and the notes!