Indeed. I've been telling the PyPy guys for years that they need to make their code more re-usable, and we've even tried to use it some, but their goals are different enough that you can't really re-use any of their code in something like Numba. You can only re-use the ideas. As far as Theano, Cython, and Numba go we can definitely cooperate (and are as best we can) --- witness minivect which Mark Florrison (who is on the Numba team) has contributed. But, keep in mind, that cooperating on things like this can be tricky because of different expectations of the user-experience and ideas of what is easy versus what is hard.
There is absolutely duplicated effort, though, across a whole swath of tools... You haven't even brought up ctypes, cffi, swig, instant, weave, f2py, fwrap, cwrap, not to mention shedskin, and nuitka. I don't expect this to abate -- in fact, I think it's a healthy sign.