There’s a clear difference between these three applications, and merging
them would be a fairly significant amount of development effort.

cron – executes recurring commands that should occur at a specific time
anacron – executes recurring commands that should take place with a
given frequency.

(The difference between them is that if a task is scheduled in cron and
the machine is switched off, it won’t be executed until the next time
it’s due to run. anacron will attempt to catch up when the machine comes
back up)

atd – executes a non-recurring command at a specific time

The fact that all three exist is something of a holdover from legacy
Unix, but it’s not possible to just remove one of them.