GNOME has a keyring system service for storing passwords, so it's not necessary to get the entire desktop shell to access the keyring.
GOA is for storing account information: e.g. you configure your Gmail/nextcloud/whatever account once, and then all apps that need it can access it. So your Geary, Contacts and Calendar (separate applications) do not need each to implement account management and account specific auth flows -- not just passwords, OAuth is all the rage nowadays. And I, as the user, do not have to keep tokens in each app current.
It is also not 'entire gnome shell`. Just the required components.
here the required dependency list for control center on arch: accountsservice bolt colord-gtk4 cups-pk-helper gcr gnome-bluetooth-3.0 gnome-color-manager gnome-desktop-4 gnome-online-accounts gnome-settings-daemon gnome-shell gsettings-desktop-schemas gsound gtk4 libadwaita libgnomekbd libgtop libgudev libibus libmalcontent libmm-glib libnma-gtk4 libpwquality smbclient sound-theme-freedesktop udisks2 upower
It's purpose is to provide and manage account information for applications that need it, so the user doesn't have to configure their email, calendar, whatever, in each application separately. With each application storing passwords in a who knows where, or each implementing their Gmail OAuth.
So it is quite logical, that application that uses accounts will also need gnome-online-accounts.
'Do one thing and do it well` -- how is that anti Unix philosophy?