I would try using window functions.
A way using FIRST_VALUE could be something like:
SELECT DeptID, EmployeeName, Department, FIRST_VALUE(ManagerName) IGNORE NULLS OVER(PARTITION BY DeptID) AS ManagerName
FROM #Employee_Manager
WHERE EmployeeName IS NOT NULL