Essentially a check is shown late (“next check” time negative or in the past in the GUI) if there is a dependency suppressing it, or if a specific acknowledgement or downtime is doing so. Since you have this regular (!) behaviour I would guess it might be the latter - i.e. you have a recurring downtime configured somewhere - at 10:20 for 2 hours - affecting this check directly or its host.
I started a “late checks” thread some time ago, where we had a massive late checks problem, but the cause/resolution seems to be different than in your case. (Badly configured dependency in our case.)