Não seria mais adequado receber contexto como parâmetro e pegar as validações a partir do contexto dentro do próprio useErros ?
Já que validacoes
só é utilizado nessa etapa de identificar erros.
function useErros (context) {
const validacoes = useContext(context)
const [erros, setErros] = useState(criarEstadoInicial(validacoes))
//...
return [erros, validarCampos, possoEnviar]
}