I can't offer a solution, as I am troubleshooting similar problems myself on a brand new LG V20 running Android Nougat (7.0). But one thing I have encountered in my research might explain some of this.
Newer versions of Android (6 and up) utilize a "feature" called Snooze and App Delay. Google it. The gist is thast they decided to put the Android OS to sleep after a period of inactivity. It is supposed to periodically wake up and check things like alarms and such. But they admit the "period" it does this INCREASES in time duration the less the phone is used. At some point it seems to stop checking anymore.
There is a lot of discussion in the forums about it. I have yet to find a solution. There are apps to help keep it from sleeping "too deeply", but they haven't helped me so far. Been working on this several days now.
My older HTC 10, also running Nougat, is dutifully sounding EVERY alarm for me, as I keep it running in airplane mode while I sort out the issue on the V20. Very frustrating. They both run the same apps for calendar and daily repeating alarms.