I don't know. I'm not a maintainer of those projects. There's no obvious reason to me other than that it's hard to adapt a legacy code base that assumes a single thread to something that uses multiple threads. IIRC, there have been multiple attempts to make GNU grep multi-threaded. I believe folks have even submitted patches to the project. I don't follow it closely enough to know why they haven't been accepted.
Sometimes the answer to "why don't they do this" is just uninteresting. :-)
It takes 5-6 seconds to search for some files on my machine. Would'nt it be an easy win if `find` had spawned 4 threads?