... why is a Schmitt trigger helpful for communicating with SPI, since the microprocessor already reads a signal as either HIGH or LOW depending on a threshold value?
That's the mistake in thinking any signas. The signal isn't just either HIGH or LOW with two digital states with nothing in between.
Every signal is analog and analog takes time to transition from HIGH to LOW state, and from LOW state to HIGH state.
All chips require the transition to happen in short enough time to prevent problems. The signal passing through a long cable will have slower transition times when it comes out of the cable, as the cable is a lossy medium, it has capacitance and resistance, so it limits bandwith of signals.
So even if the receiver input has sharp threshold, the slow signal spends too much time near the threshold, and any noise being addes to the signal may make it cross the threshold multiple times, so instead of one single nice sharp clock edge, a slow edge may be seen as several clock edges and extra clock edges will ruin the SPI transaction.
So as the signal must have quick and sharp transition so it quickly goes far from the threshold so added noise isn't a problem, you can use a Schmitt trigger to receive slow signal edges and it will reshape them into quick strong signal edges for your SPI chip.
How it helps is that there is no single threshold, but two, which are used for hysteresis. The output does not transition high until input has gone high enough to reach the high threshold, and the output does not transition low until input has gone low enough to reach the low threshold. Therefore it does not matter how slowly the signal rises or falls between the two thresholds, or how much added noise there is, as long as it is not large enough to cross both thresholds.
Also it does not make much sense to use 20 MHz SPI bus over 1 meter cable, for many reasons.
The BME680 sensor first of all supports only 10 MHz.
Also most of the changes the sensor detects happen so slowy that maybe reading data once per second is enough.
If you want 1 meter cable, it can more easily be done via I2C.