HI Roshni,
I don't think infinite_sheds reduces the direct component of POA irradiance for reflections at the module's surfaces. It doesn't apply any IAM modifier internally. You could apply that yourself to e.g. poa_direct_front.
1. poa_global is broadband irradiance. To me, it's reasonable to multiply by a spectral adjustment factor, to account for spectral mismatch of the cells. Whether the same factor applies to front and back is an open question AFAIK. The challenge is not the absorption at the back of the cells, it's that the rear surface irradiance is mostly diffuse reflected from the ground, and that reflection changes the spectral content. In any case, rear irradiance is small compared to front, and a spectral adjustment to the rear irradiance will be very minor to the overall irradiance.
2. The advantage of using infinite_sheds for front, monofacial irradiance modeling is that it accounts for horizon blocking (a module's front doesn't see the horizon because of the rows in front of the module). If that's not a concern, I don't think infinite_sheds offers any advantage over the functions behind PVSystem's get_total_irradiance.
3. There's different approaches to representing soiling. I don't know that there's a consensus regarding a "best" technique. pvlib provides two models for estimating DC energy loss due to soiling, from atmospheric data about particulates etc. Other models, such as that in PVsyst, may require starting with different data.
Contributions to pvlib are welcome for other soiling model approaches :)
Cliff