The thing that makes Death a GREAT villain/antagonist is that he's a force of nature that got upset and started behaving incorrectly.
His motivation is to kill Puss for being a cocky shit. Someone having 9 lives is ridiculous on its own but to have someone waste them like Puss does is just offensive, so Death stepped in to take his last life early for funsies. That's how pissed off Death was, and he explains it very clearly in the crystal caverns scene.
Death is a foil to Puss. Yeah, he's only there to kill Puss. That's the point. He's not a person, he's literally Death. He's the light at the end of the tunnel for Puss, but he's running at him. He's the one that forces Puss to change. He's the one that makes his journey harder. The single only reason why getting that wish even matters is because Death forced it to matter.
He's vindictive, cruel, and spiteful. That's different from just being plain evil. Him having rules he begrudgingly follows makes his "defeat" interesting. He can kill Puss at any time. Heck, he could slaughter everyone at the end. But he doesn't. He’s unpredictable.
Also, the main job of an antagonist is to show the protagonist's development. That's why it's called "antagonist" - they antagonize. Every one of Puss' encounters with Death are direct catalysts to his character growth.This movie doesn’t work without him.
He's a fantastic antagonist straight from a classic storybook.