Old question but to address the last part (reflecting the current Apple guidelines): yes, you should definitely place all executables (including scripts) in the MacOS
sub-folder of your bundle:
MacOS - (Required) Contains the application’s standalone executable code. Typically, this directory contains only one binary file with your application’s main entry point and statically linked code. However, you may put other standalone executables (such as command-line tools) in this directory as well.
(Source: Anatomy of a macOS Application Bundle.)
Breaking these rules will prevent you from successfully signing your app bundle for Gatekeer (and, of course, macOS Notarization).
The first part was adequately handled by the other response.