Простыми словами это происходит потому, что в python все работает по ссылке, поэтому, когда вы создаете список списков таким образом, вы в основном получаете такие проблемы.
Чтобы решить вашу проблему, вы можете сделать либо один из них: 1. Используйте документацию numpy array для numpy.empty 2. Добавьте список, когда вы попадаете в список. 3. Вы также можете использовать словарь, если хотите
Вам нужно перебрать dataSnapshot.getChildren (
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
Pools pool = childSnapshot.getValue(Pools.class);
}