I would say that no one except for an admin should be able to change a site-wide setting, so the entire approach is just wrong! To save options, the user needs to have the
manage_options capability, which
shop_manager user role lack.
The plugin uses of
manage_woocommerce capability for the menu, let the admin page be accessible to shop manager, but setting submit goes to the option handler code which is not taking into account the context of the admin page.
If you wish to modify roles and capabilities, use a third-party plugin such as Capability Manager or Capability Manager Enhanced.
The former hasn’t been updated in awhile, and the enhanced version is current; both should work well for this purpose.
Or you can use: