NRF24L01 - Receiving two pipes messed u data

Rx Code

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// If using software SPI (the default case):
#define OLED_MOSI   5
#define OLED_CLK   6
#define OLED_DC    3
#define OLED_CS    12
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

#if (SSD1306_LCDHEIGHT != 32)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif

float temp1;
float temp2;
  
RF24 radio(9, 10);
  
const byte rxAddr[][6] = {"00001","00002","00003"};

void setup()
{
  while (!Serial);
  Serial.begin(9600);
  
  radio.begin();
  radio.openReadingPipe(1, rxAddr[1]);
  //radio.openReadingPipe(2, rxAddr[2]);
  radio.startListening();
  //Serial.println(rxAddr[1]);
  
  //Serial.println(rxAddr[2]);
  
  // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
    display.begin(SSD1306_SWITCHCAPVCC);
    display.clearDisplay();
    display.setTextSize(1);
    display.setTextColor(WHITE);
  // init done

}

void loop()
{
  if (radio.available())
  {   
    //radio.read(&temp1, sizeof(temp1));
    //radio.read(&temp2, sizeof(temp2));
    //Serial.println("temp1 is");
    //Serial.println(temp1);
    //Serial.println("temp2 is");
    //Serial.println(temp2);

    
    display.clearDisplay();

    display.setCursor(0,0);  
    display.println("Room 1 temp is:");
    radio.read(&temp1, sizeof(temp1));
    display.setCursor(95,0);
    display.println(temp1);
    display.display();
    

    //delay(1000);

    //display.clearDisplay();
    display.setCursor(0,10);  
    display.println("Room 2 temp is:");
    radio.read(&temp2, sizeof(temp2));
    Serial.println("temp2 is");
    Serial.println( temp2);
    display.setCursor(95,10);
    display.println(temp2);
    display.display();

    //Serial.println(temp2);
    //display.display();
    delay(1000);

    Serial.println("temp1 is");
    Serial.println(temp1);
    Serial.println("temp2 is");
    Serial.println(temp2);   
  }
}

Tx 1

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <DallasTemperature.h>
#include <OneWire.h>

#define ONE_WIRE_BUS 3

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

 float Celcius=0;
 float Fahrenheit=0;

RF24 radio(9,10);

const byte rxAddr[][6] = {"00001","00002","00003"} ;

void setup()
{
  sensors.begin();
  Serial.begin(9600);
  radio.begin();
  //radio.setRetries(15, 15);
  radio.openWritingPipe(rxAddr[2]);
  radio.stopListening();
  //Serial.println(rxAddr[2]);
}

void loop()
{
  sensors.requestTemperatures(); 
  Celcius=sensors.getTempCByIndex(0); 
 

 float temp1= Celcius;
 Serial.println("temp1 = ");
 Serial.println(temp1);
 radio.write(&temp1, sizeof(temp1));
  
}

Tx 2

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <DallasTemperature.h>
#include <OneWire.h>

#define ONE_WIRE_BUS 3

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

 float Celcius=0;
 float Fahrenheit=0;

RF24 radio(9,10);

const byte rxAddr[][6] = {"00001","00002","00003"} ;


void setup()
{
  sensors.begin();
  Serial.begin(9600);
  radio.begin();
  //radio.setRetries(15, 15);
  radio.openWritingPipe(rxAddr[1]);
  radio.stopListening();
  //Serial.println(rxAddr[1]);
}

void loop()
{
  sensors.requestTemperatures(); 
  Celcius=sensors.getTempCByIndex(0); 
 

 float temp2= Celcius;
 radio.write(&temp2, sizeof(temp2));
  
}

Supposing Room 1 temp is 10 and Romm 2 temp is 20;
Screen is displaying;

Second 1;

Room 1 temp is 10.0
Room 1 temp is 20.0

Second 2;

Room 1 temp is 10.0
Room 1 temp is 10.0

Second 3;

Room 1 temp is 10.0
Room 1 temp is 0.0

Second 4;

Room 1 temp is 20.0
Room 1 temp is 10.0

Second 5;

Room 1 temp is 10.0
Room 1 temp is 10.0

etc.

There is no pattern, I just typed out a random sequence.