Can a miner steal another one's block? Say we have two miners, Alice (an honest miner), and Eve (an evil miner).

My understanding is that when Alice mines a block she advertises it to the network, and once it's part of the longest block chain Alice earns mining reward + eventual transactions fees.

But could Eve steal this block (and the associated reward + fees)? When Alice publishes the block to the network, what happens if Eve republishes it as its own block? What if Eve is able to propagate the news that she mined the block herself in the network than Alice can?

I'm pretty sure Bitcoin has some mechanism around this issue and I'm curious to see how it works.
No. 

The block that Alice mined includes the mining rewards going to Alice's address. If Eve alters the block data to output the rewards to her own receiving address, then the nonce (and other variable values, I think "extranonce" and timestamp) that Alice used to solve the block will almost certainly no longer solve the block.