Check the program’s interval time — it should not be zero. If you just want the program to run once during a day, you can use a large interval (such as 23 hours). As long as the end time minus the start time is less than the interval time, the program will run only once (at the start time).
From firmware 2.1.2, the settings for each program has been changed to one start time, and additional start times. This avoids the confusing ‘end time’ in prior firmwares.