If you see that Guests on your Mikrotik have to log in multiple times a day, this might be caused by the Mikrotik Keep-Alive timeout.
You can log in to your Winbox application and navigate to the Logs tab to check if it's the case.
Check if you can see log prints that say, logged out: keepalive timeout.
What is Keep-Alive Timeout?
Keep alive timeout is a mechanism that determines whether the device is still connected to the network. Typically this is done by sending ICMP requests to devices and waiting for a response. And if there is no response during the timeout period, Mikrotik will kick the device out of the network.
How to Remove Keep-Alive Timeout for Hotspot users
Go to User Profiles in Hotspot tab and remove the Keep Alive timeout.
This can be verified by clicking on an active user that logs in after the setting was changed, their Keep Alive timeout should not be set.