I suspect it is extremely frustrating. Probably don’t need to reboot the modem, and rebooting the router is probably more temporary, as you’ve found out. I’d likely look at the router’s manual to see how to set up reserved IP addresses in the router’s software, which would likely fix this problem.
By the way, unplugging the Sonos while rebooting the router may be slightly more beneficial, it forces the Sonos to get new IP addresses from the router, otherwise they may be grabbing at the old ones, since the speakers likely hold on to the old ones unless they’re powered off. Really depends on whether the duplicate IP addresses are other Sonos devices or not, but a safer thing to do.
But really, setting up reserved IP addresses is a better solution, much more ‘permanent’.