My grokstash pattern matches only the first match and skips the rest into the message body

I do not think you have supplied enough information for anyone to even guess where the problem might be.