Welcome to Microsoft Q&A! Thanks for posting the question.
As per the code "UnscheduledInvocationReason" occurs when either "RunOnStartup" or "isPastDue" is set to true. Now as per the document here , "isPastDue" property is set to true when the current function invocation is later than scheduled, for example this can happen if a function was restarted. You can find the logical implementation here in the code. You can set "UseMonitor = false" to disable "UnscheduledInvocationReason" due to "isPastDue".
TimerTrigger uses the Singleton feature of WebJobs SDK to ensure that a single instance of a function app is running by acquiring a Blob lease, the log you are observing here is regarding this singleton behavior. Please refer to this document here for more information.
Feel free to get back to me if you have any queries or concerns.