I just upgraded from the S7 to the S8. In messages, when I had the S7, for certain contacts I had special tones. I've set it up in the S8 exactly the same but it doesn't "take"....all contacts are getting the same tone. I use Zedge for downloading new tones and have never had this issue.
Hey, I don't know anything about Zedge except what I read in the Play Store. It appears to give you easy access to ringtones from their collection via an Ad sponsored mechanism.
The stock app does a really good job of doing this but with your own collection of music/sounds. Since I have a large music collection I never have a problem finding a relevant ringer for any of my contacts. With that said, it looks like Zedge doesn't have a "hook" in to your system. I'd try uninstalling it, rebooting the phone, then installing the newest version again.
If that doesn't work and nobody here uses Zedge I'd submit a problem with Zedge. https://www.zedge.net/
I use RingDroid to create my own ringtones / notifications from songs on my SD card. When you make the ringtone, it puts it into the "stack" that the built in programs use so it's always available.