I think this whole logic is duplicated and could be simplified, a few points:

 - there is no need for 2 places do the same thing (`todayDateLabel.innerHTML` should happen at a single reusable place)
 - triggering the timer for next midnight should be abstracted. (`thisMidnight` should be renamed to `midnight` and be part of `_setTimer` logic)
 - `_setTimer` probably don't need a callback (you are using the callback here just to do duplicated work) logic could be part of the `_setTimer` method.
 - I also think `_setTimer` is not a good name, maybe: `_syncToday`, `_updateDateAfterMidnight`, ...