From here I’d boot from a rescue usb stick or something and mount the system partitions under it to continue troubleshooting.
If you don’t have one or it doesn’t work, you may be able to get into the system by passing init=/bin/sh or similar on the kernel cmdline. You’ll get a bare minimum root shell without a login prompt.
Find the correct partitions using lsblk (you may only need the root partition)
Mount them (root goes on /mnt, others go within the root)
chroot /mnt (if permission denied, run it with sudo)
Search the logs or journals for the error (journald was the first to fail, maybe check its logs first)
If you get errors like "no proc filesystem mounted", then you also need to mount special filesystems before entering the chroot. Run these commands as root:
mount /proc -t proc /mnt/proc
mount /sys -t sysfs /mnt/sys
mount /dev -t devtmpfs /mnt/dev