How to find which shared library is missing?
The easiest way is simply to run the program. If the shared library is missing, you'll get an output similar to this:

dyld: Library not loaded: mylib.dylib
  Referenced from: /path/to/myprogram
  Reason: image not found
Abort trap: 6


You can also run the following command:

objdump -r --dylibs-used /path/to/myprogram


This will essentially give you the same output as the otool command, you've mentioned in your question (many years ago, Apple replaced the old toolchain with a llvm based one, so otool on recent macOS versions will just call objdump). The program lists the shared libraries that the program expects - you can then check manually if you actually have those files. I.e. is there a file in that path with that name, is it readable by your user and does it contain a valid dynamic library.