There is little need even to explain the idea of interface to users of the program. To them, the program is the interface.
Don't say "the GUI of the program does X". Just say "the program does X".
Don't say "the GUI has a red self-destruct button". Say "the program has a red self-destruct button".
To you, the programmer, it is very important to think about what is part of the GUI and what is not. However, the user couldn't care less about that. The interface, by definition, is the only part they see. The rest is hidden by design.
The only case when the idea of "GUI" might matter to the user is if you have more than one interface. For example, if you have both a command-line and a graphical interface, you may have to distinguish the two in some contexts.
Still, unless your program is closely tied to the command line, you should probably still not say anything about interfaces in any general documentation or information: just talk about the GUI as "the program" in any generic setting, and put the command line options in the documentation (users who want that will know how to find it--and in that part of the documentation you can probably talk about GUIs without fear of people not knowing what it is).