You can already butcher undead corpses. Embark on an evil biome, such as a terrifying glacier. You will be attacked by endless herds of zombie and skeletal elk. Assuming your military is up to the task, the elk will be "killed." The zombie elk corpses will be automatically taken to a butcher workshop and broken up into bones and skulls. No usable meat on them obviously, but you at least get the bones.
One thing to keep in mind is that simpler is better. There are already corpse objects in the game. Corpses can be butchered. Butchering a corpse destroys it, removing the corpse object and instead producing other objects. Its just a reaction, like turning copper ore into a copper bar. The ore is destroyed and the bar is created.
If undead are linked to the corpse object, where any corpses on the map that are not inside a building (coffin) has a chance to despawn, and at that location an undead creature, zombie or skeleton, will spawn of the same type.
Kill the zombie/skeleton and you get a corpse again.
That corpse is still a corpse object of that creature type, and if its not dealt with you could get another zombie/skeleton roaming about.
Its just from a mechanics perspective, trying to limit the amount of information the game needs to check, which should keep FPS up. If there is a monthly check that is only 12 checks per year.
I have no idea what programming language Toady uses, but the logic would go like this:
On the first of each calendar month check all corpse objects.
For each corpse object check location. Is it in a building? If yes, stop. If no, continue.
Roll a random number between 1 and 100. If 1-89, stop. If 90-100, continue.
Delete corpse object.
Roll a random number between 1 and 2.
If 1 spawn a zombie of the same species.
If 2 spawn a skeleton of the same species.
This simple routine should be very light on processing power, but these few steps will result in allowing undead to roam about, causing all sorts of mayhem and FUN, including creating some very nasty traps, such as pit traps full of undead that you can toss sieges, caravans, or migrants into.
Yes its not completely accurate. Its just cludge by design, to minimize system resource consumption and make it easy to add in. If you kill a skeleton by hacking all of its limbs off, when it rises again it will have its limbs all back. Its not perfect, but its less data for the game to keep track of, so less memory used and less CPU processing power used.
As for why the undead exist? Magic.
Yes, DF has magic. Quite a few creatures exist only because of magic. Creatures made out of fire, or steam, or bronze? Animated skeletons? Why can you create an entire ecosystem on getting the floor wet, and can grow mushrooms forever without adding any energy into the ecosystem? Magic.
Accept it and move on.