You can unlock truecrypt volumes and veracrypt too with your system boot (luks) password with at least Debian and Ubuntu. A Veracrypt volume with a PIM needs at least v254 of systemd for the veracrypt-pim=<number> option within cryptab. See here https://www.freedesktop.org/software/systemd/man/latest/crypttab.html
For Debian 12 systemd is v252 so install v254 systemd from backports to use veracrypt-pim=<number> within cryptab. Then as well as having all your volumes using the same password, add initramfs,keyscript=decrypt_keyctl options at the end of the lines. The initramfs pulls the decrypting of the volume to the start of the boot with the system drive and keyscript=deycrypt_keyctl caches the password so you only have to enter it once.
For crypttab along with your system drive unlock line something like this. Note that the initramfs is not needed for the line unlocking the system volume:
# System volume sda3_crypt UUID=6b3229c1-6f6a-480f-8524-212f6bd2e4dc none luks,discard,keyscript=decrypt_keyctl # Truecrypt volume sdb_true /dev/disk/by-partuuid/7d185b93-01 none tcrypt,discard,initramfs,keyscript=decrypt_keyctl # Veracrypt volume. sdc_vera /dev/disk/by-partuuid/2c175e93-01 none tcrypt-veracrypt,discard,initramfs,keyscript=decrypt_keyctl
Veracrypt volume needing a PIM you need systemd v254 or later:
sdc_vera /dev/disk/by-partuuid/2c175e93-01 none tcrypt-veracrypt,veracrypt-pim=20,discard,initramfs,keyscript=decrypt_keyctl
After making your crypttab (and fstab to mount the drives) entries and checking it very thoroughly! run # update-initramfs -u -v to update grub.