duda llamada de funciones

A mi poco saber te pongo el código con algunas correcciones que creo que mejorarían el código.
Puede que me equivoque en las correcciones.

   int humedad;
    int sonda;
    int seco;
    int eV;
    String regado;
    String porCiento;
    String tiempoRiego;
    String higro;
    //zona1
      int higro1 = A15;
      int eV1 = 21;
      
    //zona2
      int higro2 = A14;
      int eV2 = 20;
      
void setup()
{
    Serial.begin(9600) ;

  

//  pinMode(higro1, INPUT);  las entradas analógicas no hay que definirlas como entradas
  pinMode(eV1, OUTPUT);
  pinMode(eV2, OUTPUT);

}
void riego(int sonda){ // no creo que necesites devolver nada de la función
   
  seco = analogRead(sonda);
  Serial.println(seco);
  
  if(sonda == 69){ // sonda será igual a A14 ó A15 ¿no será seco lo que quieres comparar?
    humedad = 900;
    eV = eV1; 
    higro = "h1";
  }
  else{
    humedad = 600;
    eV = eV2; 
    higro = "h2";

  }
    
  int i = 0;
  while(seco <= humedad){
    
    //if nivel{
      digitalWrite(eV,HIGH);
      if(i==0){
        tiempoRiego = "-";
        i= 1;
        
        regado = higro;
        regado += "-"; // creo que quieres concatenar y eso me parece que se hace con ||, no con +=. pero al ser una variable de tipo string no estoy seguro
        regado += tiempoRiego;
      }
     seco = analogRead(sonda);
    //} 
  }
   digitalWrite(eV,LOW);

}
void loop()
{
       
  riego(higro1);
  riego(higro2); 
 
  
}

Lo que has hecho creo que es que riegas una zona hasta que alcanza un cierto valor de humedad y después riegas la otra.
Para hacer lo que dices me parece que tendrás que estructurarlo de otra manera. Evitando un bucle while.