Why MCP73871 lithium battery charger IC takes so long?
The voltage where it switches from CC to CV charging is V_REG in the datasheet, which is factory fixed at one of 4.10/4.20/4.35/4.40V ± 0.5%. So if yours is 4.10V then that would explain why you see it shifting to to CV around 4.05V (it may appear to be slightly less due to internal resistance in the cell, which is higher for older cells).

The reason the CV stage is so long is probably because the termination current I_TERM is programmed too low. This is controlled by the resistor R_PROG3 as follows I_TERM = 1000V/R_PROG3. A common value is 1/10'th of the fast charge current, which would be 100mA in your example. Using this value would reduce the CV stage from 4 hours to about 2.5 hrs. This will have little impact on the charged capacity because the current is so low at the end of charge.

Note also the the shape of the charge curve will depend on the health of the cell. Unhealthy cells will have a shorter CC stage and longer CV stage because of large voltage bumps due to the cell's high internal resistance. So be aware that testing with unhealthy cells might prove a bit puzzling.

Generally it is healthier for the cell to use lower V_REG values and lower termination currents because this minimizes the time that the cell spends at high voltage and high temperature - both of which accelerate internal parasitic electrochemical processes which cause degradation. Because such process are typically nonlinear (often exponential), even small such changes can yield large improvements in health. That's why apps that require long life (e.g electric vehicles) don't usually charge to 100% capacity, e.g. some may charge to 85-90%.