OP, it will help if you think of a digital output as a fairly low value resistor that can be switched to either Vcc (3.3V in your case) or GND (0V). With almost no current flowing through that resistor (your DMM is very high impedance), there is no voltage drop across the resistor, so you read 3.3V or 0V. But when the output is sourcing or sinking significant current (significant relative to its max specs), some voltage will be dropped across the resistor so the high voltage will drop below 3.3V and the low voltage will rise above 0V.
The “resistor”, BTW, is usually the upper or lower transistor of a CMOS output stage.
And when the pin is configured as an input, as was noted, it could float to just about any value. That’s why you should never leave inputs unconnected.