How to define the SPI pins in an ESP32 module?
The short story of the SPI pins is:


If you use the pins shown in the table in your questions, you can achieve SPI speeds of up to 80 MHz.
If you use other pins, then you are limited 40 MHz.


As most peripherals have a maximum SPI speed of considerably less than 40 MHz, it's often not relevant. So you can take any GPIO pins you like.

Given the Heltec board, the choice has already been made for you. I have no idea why they have chosen this particular set of pins. Possibly, it has simplified the PCB.

I don't know the details of your peripherals. But let's assume you have devices connected both by SPI and I2C.

I2C and SPI are buses. So several devices can be connected to the same bus. Therefore, there is no need to use a separate SPI or I2C bus. You can simply reuse the SPI buses choses by Heltec:


SPI: pins 5 / 19 / 27 for SCK / MISO / MOSI
I2C: pis 15 / 4 of SCL / SDA


Each SPI device will requires a seprate CS line. You can choose from the remaining GPIOs: 0, 2, 12, 13, 17, 22, 23.

Pins from 32 upwards are also available as GPIOs but can only work as input pins. So they are not suitable as a CS signal.

Pin 16 can be used if the OLED is not used. I can't tell you whether the same is true for 4 and 15 as they might be wired to a pull up resistors. So it's probably better to use those pins for I2C as designed and connect your I2C devices to it.