Honeypot fields only address simple bots, that blindly submit data in all the form fields they find. They don't stop more sophisticated scripts and scripts that have been set up specifically to target a form.
The distorted text captcha you are using is easily solved by Optical Character Recognition (OCR) and if the frequency of the submissions is low, they may even be due to a human, not a bot. If the data is being submitted by a bot, using either recaptcha or keycaptcha should help.
And, since you haven't shown your program logic, are you sure that a wrong captcha value stops your code from using the data?
What format does the data have for these invalid submissions? Is there something about the data, that if you were validating it, would distinguish it from a real submission?