Cron task to reboot wireguard

is there a way to reboot wireguard connection every 1 hour?

Not without taking down the whole network. WG is handled in the kernel, via netifd which is called by /etc/init.d/network {stop,start,reload}.

Your issue is very much looking to be Wi-Fi related. Hardline to the upstream router, then any computers to the GL router.

I’ve never tried it. Does that push a new key exchange req to the endpoint?

I don’t think it really matters; from what I’ve encountered most WG providers will just re-assign the same public IP to the client endpoint within (n) mins. 15 to 30 seems to be the usual periods.