How do I connect two slaves of same type in I2C?
The problem is with the magnetometer: 
"The HMC5883L has a fixed I2C address, you can only connect one sensor per microcontroller!"
Wiring and Test

Also, it says it in the specs on page 2:
 I2C Address 
8-bit read address 0x3D
8-bit write address 0x3C
3-Axis Digital Compass IC HMC5883L

Low cost magnetometers appear to have fixed I2C addresses. One solution would be to get a different one in addition to yours. For example, the MAG3110 has I2C address 0x0E and the FXMS3110CDR1 has I2C address 0x0F. 
Xtrinsic MAG3110 Three-Axis, Digital
Magnetometer

More information on this page:

How to connect multiple of the same device to an Arduino using I2C?

P.S. You are more likely to get an answer to your second question by posting it separately (and help others in the process).