I do the same with forked-daapd (now known as Owntone) and shairport-sync. You can see my guide here. Mainly I went this direction because I already had a well organized iTunes library that I could simply drop into Owntone. It also supports Spotify.
For streaming client hardware, I use A Pi Zero with Justboom DAC hat which manages streaming audio and Room Assistant without any issue.
But Snapcast looks like a nice solution too, as does LMS.