The issue isn't coming from Nightbot, but YouTube's limitations, so you'll have the same issue with every other cloud bot.
Here's basically how it works on YouTube (if I understood properly):
Nightbot can't sit in chat all the time because the Live chat doesn't exists unless there's a live stream happening.
When you start a stream, YouTube sends a "message" to Nightbot saying that your stream started, so Nightbot knows it's live and joins. To be noted that YouTube specifically designed this tool at the request of the bots developers because otherwise there would be no way to have a cloud bot in you chat, and it's very buggy.
Then, after some time, YouTube terminates the bot's connection, so Nightbot thinks your stream is offline, except that YouTube won't send that "message" to tell the bot the stream is (still) live again, since it only does at the beginning of the stream. That's why restarting the stream is the only way to keep a cloud bot in chat 24/7/365.
If you need someone to blame, blame YouTube for their poorly designed API.