Solas is a lying liar who lies.
Everyone lies. Everyone who says differently is lying.
In the game though, we see that Solas merely omits his true age and identity, and what he knows about how Corypheus got the orb. Both for a specific reason; letting you know who he is and how he helped create the current crisis would prevent him from being able to help you fix the mess and be free to move on after the current crisis is averted.
He makes it clear though that he loves spirits, and wants mortals to understand spirits, so I doubt he'd lie about that. Just because he lied about one thing doesn't mean he lies about everything.
Although your point about Cole being an exception is true, the point I'm making is that the fact that it's possible at all rules out simplicity in general. They obviously have layers that even a being a thousand years old has yet to uncover.
And yet it took thousands of years for an immortal being who spends the vast majority of his time wandering the Fadeand interact with spirits to encounter one example in one spirit. That doesn't mean there are a whole bunch of them floating around, or that all, most, or even many have the capacity that Cole has. Or that there are enough floating around that Solas could find a soulmate (get it?) in the form of a spirit.
Even with his complexity, Cole is not exempt from the "complexity can corrupt spirits into demons" rule, since it's implied that the complexity he developed when he first left the Fade turned him into a demon, and he could still become a demon today. (That's why, during his personal quest, no one will let him kill the Templar out of revenge, since it's implied it could have turned him into a full-blown demon had they allowed it.)