The functions `create` and `destroy` create a matrix representation of the operator.
Calling the function multiple time result in the same operator, `a == b`, not operators for different modes.
You can use the `tensor` function to couple multiple systems:
a = tensor([create(N), qeye(M)])
adag = a.dag()
b = tensor([qeye(N), create(M)])
bdag = b.dag()
With this `a` apply on the first mode and `b` on the second.
(M and N does not need to be the same.)
(You can couple as many modes as needed.)
Hope this help