Call Wire.begin() just once. That initializes the I2C bus. After that, you can initialize the sensors on the I2C bus.
The I2C bus uses addresses. Each sensor has its own I2C address. In theory, there are 127 possible I2C addresses, but about 10 sensors is possible in real life. When the Arduino board wants to talk to a sensor, then the I2C address of that sensor is send to the I2C bus and only the sensor with that specific I2C address acknowledges to that address (all the other sensors stay quiet).
The BMP085 library assumes that it is at I2C address 0x77 here.
The HTU21DF library assumes that it is at I2C address 0x40 here.
Connect all the SDA together and connect all the SCL together.
I think that prints 4 and 5, which might stand for GPIO4 and GPIO5, which could be D2 and D1. I hope that I'm right, but then SDA is at D2 and SCL is at D1.
In theory, yes. In practice, it is difficult because
Each sensor must have a different address on the bus. Most sensors have a fixed address or maybe a choice of 2 addresses. Finding 20 sensors all with different addresses is difficult.
Most sensor boards sold for use with Arduino have built-in pull-up resistors on the SCL & SDA pins. When more than a few of these boards are connected to the bus, these pull-up resistors combine and become too strong, stopping the bus from working.
A useful component to help overcome these problems is an i2c multiplexer like TCA9548A. This splits the bus into 8 separate channels, allowing your code to select which channel is connected to the Arduino. By spreading your sensors over 2 or more of the channels, you can overcome the problems I described.
You can use 127 sensors but each sensor must have a different address. Many sensors have only one, some two and a lot with 8 addresses. When you communicate to one address only you expect only that address to respond. If others do you get junk. For example the BMP has only one address, so you can only communicate with one on a bus. If you want 127 of them you need 127 busses.
With the I2C bus, there are many ways to fool around. I will write down a few things, to make clear that a reliable I2C bus is the most important.
With more sensors, there are also more wires. The I2C bus can not deal with crosstalk between SDA and SCL.
Some manufacturers make sensors that are not fully according to the I2C standard. That limits the number of I2C devices.
But there are I2C multiplexers as PaulRB wrote.
With 8 (sub) I2C buses, you have in theory 8 * 127 = 1016 possible I2C devices (this calculation makes no sense by the way).
You can improve the I2C signals with a current source instead of pullup resistors.
There are chips that "improve" the I2C signals, some of those chips also amplify noise and spikes.
A I2C level shifter can connect a I2C bus with 5V signals to a I2C bus with 3.3V signals. However, a I2C level shifter also makes the I2C bus weaker.
There are even ways to cheat the I2C protocol (combined I2C address for OLED displays, broadcast address, on-the-fly changing the I2C address, and so on).
In real life, about ten I2C devices should still work reliable. You can connect 20 sensors. If you show the schematic, photos, the sensor modules, the box that it is placed in, and so on, then we can help, and maybe it will work (or not).
Okay.
One sensor is 6 meters away from the arduino(wemos d1)
This is a long distance. Does it work?
Do I need setup any speed configuration? Wire.setclock...
That is probably too much.
The official standard gives you 10 cm if you do it wrong.
See page 54, paragraph 7.5 of the official I2C standard: https://www.nxp.com/docs/en/user-guide/UM10204.pdf
If you have two sensors, then each can have 5 cm length for the I2C bus.
If you do it right, then 2 meters is possible. As a rule of thumb, I say on this forum that 50 cm is about the maximum for a reliable I2C bus.
The I2C bus was not designed to go through a cable, it is not that kind of "bus".
Some say that they have a reliable I2C bus over many meters, but most of them have created something that is not according to the I2C standard. Some have taken special precautions (or they happen to have accidentally done everything just right).
I have a couple of wemos D1 mini projects where the i²c bus is 1 metre, maybe a little less. In one of those projects, there was 1 other device on the bus. These projects both work reliably. The distance was all that I needed, I was not trying to break any records!
If reliability and repeatedly are important use a proper interface. You might get it to work but what happens if there is some EMC generated in the area? What happens when the moon comes up? With the BMP180 a long distance away try pairing it with a small arduino and sending the information back to the main processor via a proper physical layer. My choice would be CAN as it could be easily extended to several dozen nodes.