I have checked some info on the ESP8266-01, and your problem is that BOTH the GPIO and GPIO2 need to be pulled UP for the chip to start working. The GPIO2 in your case is pulled DOWN through the base of the transistor. The chip at startup checks the GPIO pins, and then it makes them available for use as inputs and outputs. That's why your chip works without that resistor connected, and doesn't work when you connect the resistor.
I have searched and searched, but I had to come up with my own solution to your problem. Here it is:
You might get away with simply adding the R2 and C3 to your board.
C3 here acts as an RC delay circuit with R3, giving you a positive pulse at GPIO2 at startup. Apparently, ESP-01 pauses for 40ms during the power up sequence, sends some bytes through GPIO2 for 100ms, and then it boots into normal program. This means that you only need to hold the GPIO2 at the logic high level for more than 140ms, and this CR combination should give you more than 200ms.
The R2 is needed here to prevent the C3 from discharging through GPIO2 at more than 12mA (maximum allowable current for GPIO pins) when GPIO2 goes to logic high.
If you don't want the relay to turn on shortly when powering the circuit, you could add the C4.
R1 and R2 could be used to ensure the C3 and C4 discharge in about 5 seconds after power off, so that they function as designed if you power the circuit back on within 10 seconds (but not sooner than after 5 seconds have passed).
This RC combination will also give you a slight delay in switching the relay on and off (should be less than 0.3 seconds or 300ms), but that should be fine for most purposes.
P.S.: For anyone asking, here is a datasheet for this module from MicroChip: http://www.microchip.ua/wireless/esp01.pdf
Here is also a little more about the boot modes: https://www.forward.com.au/pfod/ESP8266/GPIOpins/index.html
P.S.: I realize that C2 could be 10uF, so just use that!