The more interesting question to Amiga users is: what goes into the "tools" and what into the "utilities"-drawer?
But to clear the terminology - here is my take:
Program emphasizes on the technology used to crete the solution. Other words that belong to the same category are: script, webpage, diagram, algorithm.
App or application is a kind of program that was written for the end user that is linked to something in the real world. Applications create images, letters calculate your taxes or your horoscope, let you access your addresses and store them, etc.
A utility will usually not do any real work but help you dealing with information. Examples should be clocks, webbrowsers but also installers and the unix man command.
Tools are closely related to utilities. They are generally useful and productive, but are only producing intermediate results that you may use to get the most out of your application software. This is IconEd, Caculator, and most of the Unix commands.