Solved!
So the issue was, it was using ~/.config/eduke32 as the config directory where everything went. Even changing the executable's filename did not change this location used so it must be hard coded in the application somewhere (even if it's just "this application is called eduke32" and then it just used "whatever the application calls itself" as the config folder, that is what it is using.) So there really is no way to change the save location... [one more thing I don't think I tried: renaming the folder in which the executable exists -- but it doesn't matter because even if it did work (I have doubts), I think the solution I ended up with is more elegant than quadruplicating the executable folder four different times for four different games.]
...EXCEPT! That location is, already, just a symlink to the config folder in /opt/retropie/configs/ports/duke3d. So, inside of that folder, I made three new folders: dc, nw, and vacation. Then I edited my launch scripts to re-link the .config/eduke32 link. At first I got an error: "failed to create symbolic link: file exists." So I tried it with the -f(orce) option. Got a different error: "cannot overwrite directory." Finally, I decided to just remove the existing link before creating a new one (and then -f was no longer needed.) That worked! Now, before a game is launched, the link in ~/.config is reconfigured to point at the correct subfolder, and then saves and configs are stored separately per-game.
After the game exits, I set the link back to its original location and, for good measure, I move the log in $HOME to the config folder first.
Example duke3d-vacation.sh launch script:
#! /bin/bash
rm ~/.config/eduke32
ln -s /opt/retropie/configs/ports/duke3d/vacation ~/.config/eduke32
"/opt/retropie/supplementary/runcommand/runcommand.sh" 0 _PORT_ "duke3d" "-j /home/pi/RetroPie/roms/ports/duke3d -g vacation/vacation.grp -x vacation/game.con -j /home/pi/RetroPie/roms/ports/duke3d/vacation"
mv ~/eduke32.log ~/.config/eduke32
rm ~/.config/eduke32
ln -s /opt/retropie/configs/ports/duke3d ~/.config/eduke32
For the Original duke3d.sh script I still set the link to .../configs/ports/duke3d before launch, just in case anything prior left it in weird shape, but obviously I don't have to "fix" it after since that's the original default location anyway.