Как насчет этого решения :
N = 3
L = 3
M = np.zeros((N,L))
res = np.array(list(zip(M.ravel(),M.ravel())), dtype=('i4,i4')).reshape(M.shape)
# returns
array([[(0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0)],
[(0, 0), (0, 0), (0, 0)]], dtype=[('f0', '<i4'), ('f1', '<i4')])