Do I need USART1 to program the bootloader with STM32 - Or could I use SWDIO & SWCLK?
The STM32 will come with factory bootloader. That bootloader is the one that enables programming over various interfaces if SWD or JTAG is not used. Different models support different interfaces, but UART1 is always supported.
You can always use the SWD and JTAG interfaces as they do not even need to run bootloader code for that to work.