I recently installed some dual- and triple-boot systems, Win10, Win7 64-bit, and Linux Mint 19.1.
One rig was a Lenovo pre-built desktop, factory new, that came with Bristol Ridge A8-9600, 4GB RAM, and a 1TB HDD. But thankfully, it had an M.2 NVMe socket on the mobo.
So what I did was, unplug the HDD, install the M.2 (I used a 512GB HP EX920 that I picked up from Newegg on ebay for like $80-90), and then I used a Win7 Pro ISO file, and the Gigabyte USB Win7 installer tool, found on their AX370-Gaming ATX AM4 mobo page under Utilities. This accepts a CD/DVD ISO drive letter (I prepared the bootable USB stick on Win10, and just double-clicking a data ISO file mounts in in a virtual CD/DVD drive on Win10, very handy!), and a destination USB drive (blank, I hope!), and then does it's thing. You need to check off USB3.0 and NVMe drivers, and it will inject them into the disc image on the USB drive for you, and build the USB install stick.
So I used that USB, to install Win7 Pro under UEFI, but with Secure Boot disabled, and chose to partition only the first 240,000 of the SSD, for Win7. Once I got that fully installed (and updated! that took a few hours), then I went and used a Win10 multi-installer of 1809 that I had previously prepared using the MS Media Creation Tool on Win10.
Voila, a few hours later, you've got multi-boot action.
Note that basically, the general rule is, if you want both Win7 and Win10 64-bit, on the SAME SSD, then you MUST install Win7 FIRST to get the multi-boot to work properly.
For my other rig, an AM4 with Ryzen CPU on a Gigabyte X370-Gaming board (from whos page I used the Win7 USB installer tool), I actually installed Win10 first, but that's because I then disconnected the Win10 SATA SSD, and plugged in a totally separate physical SSD for Win7 64-bit, and then unplugged that one, and plugged in a smaller SSD for Linux Mint 19.1, and installed that. Then I plugged them all back in, and used the BIOS multi-boot menu to verify that I could multi-boot, restart, and then multi-boot a different OS. I left Win10's Windows Boot Loader in UEFI as the default, as well as put the Win10 SSD on the first physical SATA port. That way, should Win10 feel the need to reboot in the middle of the night to install updates, then it will boot back up to Win10, in order to run my backups in the morning.