The problem is that freight transporters are intentionally running trains which are longer than the sidings. Even if an Amtrak train has priority by law, it is - by design - impossible for the freight train to pull over.
The result is that an on-time Amtrak train has to wait for a delayed freight train, because it is physically impossible to do anything else. This of course results in the Amtrak train now being late, through no fault of its own.