why does my grill which has a thermometer on the top register one temperature, but I put a thermometer inside registers a different temperature, the difference is 100°F?
The thermometers built into the grill which is on the mounted to the top of the grill reads 100°F higher than a thermometer inside of the grill.
It's the first one. I can tell you for sure that there is a huge temperature gradient inside the grill from the distance from the cooking grates to the inside of the lid. The lid thermometer is somewhere between 10-14" away from the grates, in most models.
That's also why the upper rack is a "warming" rack and not a "cooking" rack (despite some manufacturers - coughweber - trying to include it in the cooking area total).
Most of the built-in thermostats on barbecue grills are garbage. Before speculating on what might be behind the temperature difference, get a thermometer that is accurate with two probes and measure again.
Thermometers, like most measurement devices, are always accurate until you get two of them. Each device has a specific tolerance (or should, otherwise it's probably a horrible tolerance), for a grill thermometer this will look like -/+5C/10F. Additionally, everything used to read a measurement needs to be calibrated regularly to ensure proper function, otherwise readings cannot be trusted. For a thermometer, the easily accessible way to calibrate are to use ice water (does it read 0C/32F) and boiling water (does it read 100C/212F). Using these constants will allow you to adjust your thermometer and get a (more) accurate reading.
I suspect it has something to do with how far away the thermometer is from the actual heat source. you can hold your hand over a flame and be relatively fine, but if you stick your hand directly into flame, you will be burnt.