Authors should not publish

The role you are describing is “Contributor”. So the option would be to use this role unless you still want to edit Author capabilities which would be done as follows:

    function disable_authors_publish_cap() {
        // Get author role object
        $author = get_role( 'author' );
        // Remove the post publishing capability
        $author->remove_cap( 'publish_posts' );
    }
    add_action( 'init', 'disable_authors_publish_cap' );

In addition if you would want the exact same capabilities for both Authors and Contributors, then there are some more capabilities to “remove”:

    function disable_authors_caps() {
        // Get author role object
        $author = get_role( 'author' );

        // List the author vs contributor capabilities
        $caps = array(
            'edit_published_posts',
            'upload_files',
            'publish_posts',
            'delete_published_posts'
        );

        foreach ( $caps as $cap ) {
            // Remove the capability.
            $author->remove_cap( $cap );
        }
    }
    add_action( 'init', 'disable_authors_caps' );

Best of luck!