What is the output in the failing case?
If the BME's can not be found, but are found after a reset,
what happens if you try to init them a second time?
You could add an i2c scan function to the sketch.
All this:
can be replaced by
#include <printf.h>
#include <RF24.h>
and, because you don't use printDetails() even by
#include <RF24.h>
I glanced over your sketch and very much dislike its while structuring,
the blockiest thing I've seen for a long time.
A state machine should work much better.
The duplicate BME initializations deserve a function.
The whole sketch needs a clean-up and an auto-format.