How to segment frequency bands after FFT and calculate power?
Your procedure is mostly correct. You should also add the bins corresponding to the negative frequencies -8Hz to -4Hz, which appear in the final bins of the fft result: the first bin corresponds to frequency 0Hz, the second to frequency $f_s/N$ = 0.5Hz, and so on. The last bin corresponds to frequency $f_s(N-1)/N$, which also corresponds to frequency $-f_s/N$.

Also note that bandpower calculates the average power of a signal, not of its Fourier transform. It should be equivalent (following Parseval theorem), except for your missing negative frequencies.

I'd suggest using bandpower directly in the form p = bandpower(x,fs,freqrange). Here you provide the signal, the sampling frequency, and the frequency range, which is what you want.