In the Console, go to
Software Library, Software Updates, Deployment Packages
Double-click the package you guess that it is within (where it was added originally, potentially years ago).
Find the patch you want to remove, right-click , Delete.
You are presented with a dialogue. Before hitting "ok", determine if you'll be removing more patches from this particular Deployment Package, and uncheck the "Refresh Distribution Points" if you'll be doing "more deletes". Otherwise if you say to refresh DPs after each deletion, you'll be making your sender work more than it needs to, to update the package contents on the DPs.
Now... as to why 'they aren't cleaned up automatically', none of the ones you've highlighted are Expired, nor are they superseded. They appear to be "the most recent" patch for that object. Apparently, you DO still have Windows 10 x64 version 2004 systems in your environment, and some haven't patched with that most recent patch... from December, 2021. That's a separate issue that you'll have to figure out, outside of "software updates", as to why you have about 50-ish old Windows 2004 OS systems still in your environment.
I can understand you wanting to decline/expire the ones which are "0 required, 0 installed", like the ARM64, or the ones for 1909. For that, unfortunately, there is nothing built into CM, because the 'product' is basically just "Windows 10", it's not (in WSUS) more granular. There are many non-Microsoft scripts for Cleanup, here's one: https://tcsmug.org/blogs/jeff-carreon/513-what-s-sup But google-fu (or Bing-fu) for others to see if you find one you like better (there are many created by CM admins over the years).