author role includes these capabilities by default:
‘read’ capability (General group) allows to user access wp-admin by default. If you have active WooCommerce, it changes this WordPress default behavior. User should have one from these capabilities for access to wp-admin:
manage_woocommerce, edit_posts, view_admin_dashboard.
This may explain why user can not access wp-admin, after you revoke ‘edit_posts’ from his role.