These describe mismatches between what Airflow thinks is running and what is actually running.
Zombie
Airflow thinks the task is RUNNING, but the worker/process is dead or not heartbeating. Airflow detects that via heartbeats and cleans up.
Undead
The flip side: a process may still be running while Airflow believes the task should have stopped.
In plain terms: Airflow says RUNNING, actual process DEAD → zombie. Airflow has to notice and fix those mismatches.