There’s a number of ways you could improve the dynamics here, but it will seriously slow down the playback and render. For example, you could increase the steps in the hair dynamics settings so the collisions are sampled more frequently. You could enable “surface to hair” in the Hair forces settings simulate wind from the butterfly wings. You could use hair collisions instead of guide collisions. Etc.
However … I think the best way to address it is to cheat. Render a separate pass with just the butterfly and comp that over the render with the grass and butterfly. You may need to roto a bit to preserve the grass overlapping the wing edges.