The way DHCP 'should' work is that when a client is part-way through the lease it should try to renew the IP it already has:
* https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Pro...
* https://tools.ietf.org/html/rfc2131#section-4.4.5
This allows the client to (hopefully) keep extending the IP it has so that a re-IP does not cause current connections to drop. If the modem is not doing this (can the OP log into it in someway to see logs?), then it is acting as a 'non-ideal' DHCP client.
Until this is sorted out, try rebooting the modem an an 'odd' hour that will not disrupt you during the day. This is no guarantee though: the DHCP server may remember the old/current DHCP lease and simply re-issue it with the same expiration time.
I'm on DSL/PPPoE, so this may not apply, but: my Asus router has a setting that allows it to automatically reboot. I do this at ~04h00 to get a new IP every day so help with privacy concerns. I generally surf with cookies disabled, so these two things help with the low-hanging fruit of simple tracking techniques. (My DSL modem is bridged.)