Let's think about what needs to happen. You're in the middle of that part of the scan called 'ladder program execution'. The result of evaluating a rung is to turn a coil ON. It doesn't matter whether it's an output or an internal, if you're going to be able to use the ON status of that coil again, you'll need to 'remember' it. To make sure you can remember it, you write a '1' to a location in memory.
That raises the question, "where in memory should I write that value"?
First, consider the case where the coil is an output. You could immediately write the '1' to the output module. Then, later in the program when you run into a NO or NC contact associated with that coil, you would have to read the ON/OFF status from the module.
What's wrong with that, you may ask. The answer is that it takes a long time. Since you don't have a dedicated communications line to each circuit on each output module, to write or read a value from a module, the CPU has to first establish contact with the module, then write or read the value. It takes more time to establish contact than it does to read or write the data.
It's much more efficient to store the ON/OFF status of the outputs in a holding area called the image table. Then, after evaluating every rung of the program and updating the values in the image table as you go along, you transfer the image table information to the output modules.
The same reasoning works in reverse for the inputs. You read all of the input modules, storing the ON/OFF status of each one in the input image table. Then you start evaluating the rungs of ladder logic. When you encounter an instruction that needs the ON/OFF status of a particular input, you get the information from the image table. You do it that way because it's quicker to retrieve information from the image table than to call up the input module and ask it for the latest status of the input.
Now consider the internals. You need a memory location for them also, but since it doesn't have to be passed along to I/O modules, it usually isn't called an image table. Once you've written a '1' or a '0' to the internal discrete memory, that's as far as it needs to go.