I am not sure what problem you are having, if any. However, the syntax of your ErroDocument statements is incorrect, and will result in 302-Moved Temporarily status being returned by your server, rather than the desired server status code (401, 403, 404, etc.).
You may create different .htaccess files to handle errors for each of your (sub)directories, or you may centralize all error handling in your "main" .htaccess file in your web root directory - whichever you like. The server will check each .htaccess file along the path to the requested resource, and process whichever applicable ErrorDocument directive it finds first.