I don't think your unknown PNP in an unknown circuit has anything to do with this.
You did not calculate the value for the base resistor, just guessed or copied, and it is too high so the transistor does not turn on fully. Maybe the transistor is connected correctly or maybe it is connected backward and thus has lower than normal gain, there is no way to know from the information you give. I can say that it appears to be connected backwards if that actually is a BC547 which has C-B-E order of pins.
Replacing it with a short means the base is getting some unknown current from the virtually shorted RPi GPIO, probably tens of mA. So it works, but the RPi GPIO is being abused.
You also should have a diode across the fan.
Thank you for posting the schematic, however it's usually better to add on rather than edit out information which keeps existing responses coherent.
According to the schematic your NPN transistor is being used in reverse mode. It will have very low current gain in that mode- maybe 5 or 10. So you need to supply excessive base current to get it to turn on. Swap emitter and collector.
And a (reverse-biased) diode across an inductive load is usually a good idea.
Here is a schematic that illustrates what is happening and where the diode should go:
simulate this circuit – Schematic created using CircuitLab
The left circuit is what you have- the transistor is backwards and is operating similarly to the right-hand circuit functionally, but the current gain is only about 7.5.
The right hand circuit has the transistor saturated and the current is close to the 100mA if the transistor was a dead short.
In general you should reduce the base resistor if the load current is more than about 50mA. For a 100mA fan you might use 470 ohms. That is using a forced beta of 20. The base-emitter junction looks like a diode, so it's about 0.7V drop. The base current is (Vout-0.7)/Rbase. So you can easily calculate the proper approximate resistor value with simple arithmetic.
In your case without the resistor you're forcing the output voltage to be about 0.7 or 0.8V and the current will be above ratings for the RPi.