Each copy of the source program must be translated into an executable that is correct for each machine:
Ideally, only one program needs to be written in the high level language. That source file can then be translated into several executable files, each containing the correct machine instructions for its intended processor. This is how versions of "Myst" for Pentium computers and Apple computers were made: one source file was created, and it was translated into two different executable files.
The idea of using one source file for executables that run on different processors is part of software portability. You would like to write a program just once (in a high level language) and then be able to run it on any computer system by translating it into that systems machine language.
Usually, unfortunately, things do not work out that nicely. There are enough little problems so that it takes a substantial amount of human effort to get a program running on a new system. One of the big advantages of Java is that it is automatically portable between computer systems that have Java support. No human effort is involved at all.
Say that a corporation pays programmers $50 an hour to write application programs that will run on both Apple and Intel computers. Will the corporation want programmers to program in Java or in some other high level language?