This is two questions.
(1)
This is not particular to Spine. Any puppeted/skeletal 2D sprite system will fade out this way as long as it uses alpha blending.
This is a combination of reasons.
But 3D models can get around this because they have the ability to write to a depth buffer. While that causes artifacts of its own, at least its various parts don't overdraw and show overlaps.
This way of solving the problem is not available for assembled 2D sprites because it uses alpha blending around the edges, which means it can't properly write to the depth buffer. Normally, it doesn't ignore anything. It always just draws parts one after the other, which looks correct at full opacity but incorrect at anything less.
Game rendering always renders things piece by piece.
It doesn't pregroup/prerender them and change the opacity and re-composite that... the unless you tell it to. (which is some obscure programming I'm not too familiar with.)
Specifically for Unity, I've been wanting to look into having a Spine skeleton render to an FBO, rendering that to a quad and and fading that. I've had no luck so far even with a basic setup. Still mostly on the backburner. Been really busy these days.
(2)
No, there is no way to just fade between two Spine animations.
The two skeleton solution may be a good start but you'll still have the same problems as (1).
Right now, these fade effects may not be a good fit for 2D games.
I recommend you explore other ways to get around what you're trying to do.
Someone else who may have solved this could help though.