I looked into the
index.js and found this:
// updateReachability seems have bug, but remove the accessory will cause
// the name of the light gone, leave the user to decide...
Could it be that my problem exists because I turned off developer mode while Homebridge was retrying to reconnect to the bulb (after working fine for like 15 mins)? After that, I couldn't turn the developer mode back on (the app said "save unsuccessful") and I had to restart the Yeelight app on iOS (or re-add the bulb I don't remember). Now I can't even connect the bulb to the Bridge, it can't find the bulb.
FYI it was working with Homebridge without IGMP turned on, the connection is just a bit unstable (but if I had left it that way, it might had worked again).