Se debe a que no reinicias el vector que contiene los archivos, entonces el primer directorio funciona bien, pero el segundo cuenta los archivos del segundo mas los que habian en el primero... y lo mismo pasa con los siguientes directorios. Creo que asi se corrige.
Código PHP:
//a partir de aquí, el código para contar los archivos
$archivos = Array();
$dh = opendir($path);
while (false !== ($file = readdir($dh))) {
$archivos[] = $file;
}