Once something is indexed, it takes a good long while for Google to pick up on a change in status like an added noindex tag.
Images inserted into the block editor have no links by default, you must choose to add a link. In the earlier classic editor, IIRC, the previously selected option is used. If you choose to not link, future image insertions will also not be linked by default. Or if attachments were chosen to be linked, future insertions will also link to attachments by default. The point being, if you don’t want attachment links, don’t use them ??
Google cannot index something if there are no links to be found leading it there. But if already indexed, as I said, it takes a while for it to learn the new status.
The remaining issue is removing attachment links that are already in place. A few links here and there can be manually removed. If you have several dozen, it becomes an onerous task. You can use a DB search and replace tool that supports regexp arguments to only match attachment links for removal. Such a tool is available at https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
The remaining problem is reliably finding only attachment links for images via regexp and correctly removing just the anchor tags makes for an advanced regexp expression. It’ll help a lot if attachment URLs have some unique element that does not occur elsewhere.