This is a design problem with SAM. The titles that show on the player are taken live from the stream, but what is sent to the encoder and your stream server is only taken from the database. Therefore by default it will show whatever you named the entry in your library or the URL if you didn't specify a name.
You can use PAL to get around that limitation by making the PAL script fill in the title template for you and set it to static data instead of picking from the track info fields.
I'm sure there was a free version of that once in the forums, but can't find it anymore right now.
This one is for Icecast 2: viewtopic.php?f=20&t=36222#p180331
And here's a paid one for Shoutcast (I think it works with both Shoutcast v1 and v2): https://www.palscripts.com/catalog/prod ... ucts_id=49
(Regarding the shoutcast script: Don't be put off by the broken website, I think there's a misconfiguration on the server that he just didn't notice before browsers began to enforce HTTPS security recently. The site is owned and run by Forum user countrywesterndj