An OS, by general definition, usually contains the ability to launch applications developed for it, using the high-level API’s the OS provides to greatly simplify low-level hardware functionality, such as playing sound or displaying images.
A program, by definition, is a running system which executes specific instruction sets, whether this is from a low-level, no-OS setup, such as an NES, or a MacOS program which makes extensive use of Core Image, Core Animation, Core Audio, et cetera.
These are both programs. But only one of them actually runs in an OS.