Why are approvals routed to the old manager of an employee instead of the current manager?

The approval workflow considers the system date of the server that's based on Coordinated Universal Time (UTC).

Manager changes become effective at the UTC time of the server and not the local time, which can be ahead of the server time. So, you may see transactions routed to the old manager until the manager change becomes effective at the server time.