I’ve run as many as 4 easily on a pi5. Just set up different x.conf y.conf z.conf files each pointing to different db names and public_html trees. Then enable/start weewx@x weewx@y weewx@z and so on.
I use pip here for other reasons but no reason it shouldn’t work for a packaged installation.
Systemd logging will be annoying by default so you might want to use rsyslogd and edit that utility’s conf file and uncomment the lines that make each instance log to its own file. Much easier to work out issues in one instance only.
If you go the multi route personally I’d not enable/default weewx.conf so you’ll remember that you’ll always need to specify which .conf file to run against but there aren’t any hard and fast rules.