I have been experiencing this issue for a few weeks now....only it doesn't happen on any one particular app but all of them. The only solution I found was to sign out of the app, and then log back in with my cable provider, which is a huge pain to do between every single half hour episode. I have tried the suggestions word for word in this post and nothing fixes the problem.
I seriously hope this can be remedied or I will most definitely quit using the Roku platform altogether and switch to FireSticks or some other hardware for the entire household, as this is a problem on all five Roku devices/Roku TVs I own.
It's a little different when you have multiple devices. You see, for some family of apps, they actually do support a form a single sign on. So, to fix any issue with those, you'll need to remove all the related apps from a Roku device, then reboot that device. Then, go to each Roku device and remove the apps and reboot the device. Even if the app isn't showing, reboot the device.
Roku doesn't control nor care how long you are signed in. That's completely between the app maker, the channel/network service, and the cable/satellite/streaming provider service. That'll be true for any other streaming device.
It's possible something was corrupted in an app install, and that's causing the sign outs. Removing, rebooting, and reinstalling usually solves that issue. The complication is having to do it on multiple devices, since any or all could have a corruptions in data.
Another possibility that many live to overlook, is the sharing of sign ons. This may not be applicable to you, but others with similar issues may need to know that, in general, these services don't want you sharing sign ons. If they detect multiple logins from multiple locations, they may force a sign in again. Not all apps makers care, and neither does Roku. But some do, and they can enforce that.
One other thing... you said this happens on all apps. So, it happens on NBC? It happens on ESPN? It happens on TCM? It happens on Netflix? It happens on Hulu? It happens on BBC America? It happens on Britbox? It happens on Food Network? ... You see my point? Don't say "all." Say specific examples. 3-5 are usually enough to get an idea of where this might be happening.
When it comes to troubleshooting issues, more information is better than less information, and specific information is better than generalizations.