If you have Signal installed as a Flatpak and want to run multiple, separate copies of it for different Signal accounts, it just requires making a new data directory for "Signal2" and adding a new desktop file.
mkdir -p ~/.var/app/org.signal.Signal2
Next, make a filesystem override so the Flatpak can access that path:
flatpak --user override org.signal.Signal --filesystem=~/.var/app/org.signal.Signal2
Then, copy the existing desktop file to our local applications path:
cp /var/lib/flatpak/exports/share/applications/org.signal.Signal.desktop ~/.local/share/applications/org.signal.Signal2.desktop
After that, modify the launcher Exec= line to use basic password storage, and the correct data directory,
and change the Name= field to something like "Signal Alt". Whatever this name is will be what the app is named
in the GNOME shell launcher or whatever launcher you use.
Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=signal-desktop --file-forwarding org.signal.Signal --password-store=basic --user-data-dir=.var/app/org.signal.Signal2
Note: we're still running the same Flatpak runtime image org.signal.Signal,
we're just telling Signal to store its data in a different path. The Flatpak
system still sees this as a single Flatpak app only this app needs updated.
Snaps (for all their issues) have a feature that lets you clone an app with a different ID, which actually makes this much cleaner in Ubuntu. I did this before, but it was a while ago. I think Snap calls them parallel installs. Not that I'm suggesting anyone actually entertain Mark's grand vision for Snaps, but if you're already on an Ubuntu system that may be a better option. Or maybe not. It's your system, so you can decide for yourself.