Answer:
1. The British had exhausted their resources (army and money) and didn't have the required manpower pool to keep the British Raj from functioning.
2. The Indians was felt they deserved independence after helping the British after WW2 in the North African campaign and other theaters of war.
This was not internet searched/pirated
FYI: I only know about WW2 history, so sorry if they are other reasons.