This is normal. There are a few things that can cause this to happen.
1. Delays sending the command to switch to another frequency can add seconds to the program.
2. The time to upload the waveform at the start can sometimes impact the timer.
3. Using a dwell multiplier like .35 does not always result in exact intergers and the estimated time can be off by a few rounding errors.
Just some examples.
If you note that the program was off by minutes, this may be due to frequencies in the set being blacklisted in the advanced menu and so they were skipped.
Another would be that the use of skip concurrent duplicate freq was in use and a frequency was skipped.
For more details, please check: