The answer below is likely not complete for your situation, but will get things rolling if you take the initiative.
A compiled executable that is statically linked is 100% complete for a particular computer architecture, and are much larger in size than dynamically linked executable that tend to port better across computers with varying architectures.
Your improperly functioning executables are using dynamically linked libraries instead of using statically linked libraries. Your executable(s) are looking for a dynamically linked library (file) in the /usr/local/opt/miniupnpc/lib/ directory called miniupnpc.16.dylib.
If you have Homebrew installed, a "% brew list"
will indicate if miniupnpc package is installed. A "% brew ls -v miniupnpc"
will identify the path where are the files miniupnpc package files are installed such as the dynamically linked lib/libminiupnpc.16.dylib library file or the statically linked lib/libminiupnpc.a library file.
You will need to read about the HOMEBREW_LIBRARY_PATH environmental variable and the DYLD_LIBRARY_PATH environmental variable used on a Mac.
The path for your command line interface and the *.dmg file are different. Use the UNIX "% which bitcoind"
or "% which bitcoin-cli"
to identify what the command line path really is set to within your UNIX shell.