Ersten muss die 2 weg.
Wenn das Array leer definiert wird, ist die Zahl nötig um den Platz zu reservieren. Bei Zuteilung vom Inhalt, gibt der Inhalt den Platz vor.
Du hast den Inhalt auf Platz 2 ( also 1) geschrieben.
char* feuchte[] = { "zuHause/Arduino_1/Kueche/Kuehlschrank/Luftfeuchte", "zuHause/Arduino_1/Bad/Luftfeuchte" };
char* temperatur[] = { "zuHause/Arduino_1/Kueche/Kuehlschrank/Temperatur", "zuHause/Arduino_1/Bad/Temperatur" };
client.publish(feuchte[i], humidity, true);
client.publish(temperatur[i], temperature, true);
Verständlicher?