Eu suspeito que a sua confusão aqui é decorrente de um mal-entendido comum sobre permissões de arquivos semelhantes ao Unix, especificamente: Em um diretório, "executar" não significa "executar".
Suspeito que você esteja tentando garantir que os arquivos enviados para o diretório de upload não possam ser executados, correto? Isso é bom senso comum para fazer. No entanto, sua abordagem é falha: em um diretório, o bit "executar" não significa "permitir que os arquivos sejam executados aqui", mas sim "permitir que os usuários percorram este diretório". Em outras palavras, remover o bit de execução em um diretório para um usuário / grupo / mundo remove a capacidade dos usuários relevantes de acessar qualquer arquivo ou diretório dentro dele - exatamente o que o Apache agora está reclamando que não pode fazer.
Você precisa que o diretório de upload permaneça "executável". Em vez disso, o que você precisa é de umask para garantir que os arquivos enviados não sejam executáveis. (Na verdade, nem isso é necessário, já que os arquivos por padrão não são executáveis no * nix).