How to assign per-song EQ for music on iPhones?

This can't be done on an iPhone alone with the stock Music app.

But if you're syncing music from a Mac with iTunes, you can apply EQ settings to songs in iTunes and those will sync onto the phone. https://www.addictivetips.com/windows-tips/specify-equalizer-settings-per-song-in-itunes/

Be warned, this only works with EQ presets.

In the Equalizer Preset pop-up menu, pick the setting you’d like for that song and click OK. Not only will the song always play with that EQ preset on your Mac, but the preset will carry over when you sync that song to an iOS device. If you create a custom preset in iTunes through the Equalizer window, however, those changes won’t carry over to your iOS device. Also, if the EQ on your iOS device is set to Off, the device will not play the preset you’ve selected for any song. https://www.macworld.com/article/2090554/tweak-your-ios-audio-with-eq-settings.html