Ok the one thing you can do to drastically reduce this problem (I'm not sure you'll ever be spam free, I'm not
) is to contact your host again and tell them you want to stop using a "catch all" email system. The email I sent you wasn't to your email address, I made it up @yourdomain. So, you are using jacqui@(etc) but I can send it using any name@yourdomain - the one I sent you, which you received, was a randomly made up abcd@, not jacqui@
This means that with your domain known, anything before the @ can be used - even scunner@yourdomain would get into your inbox. No need to do any research, just make something up and you get it.
I hope that was understandable, if not just post a reply. What you need to do is inform your host that you only want to use jacqui@ and for them to set that up as a mailbox; and switch off the "catch all" email service.
That done, these wasters will at least need to put in a bit of effort
It won't solve all your problems but it should cut it down drastically.