Hmmm ... I see what you are saying about the 21ppm recommendation on the pool calculator. I got the 31ppm from the chlorine/cya chart in Pool School ... I am surprise that there is that much of a difference. I suppose 21 should be fine though.
Not sure what to say about your CH test. Have you tried just testing your tap water to see where you are starting from (could be good as a reference anyways).
You should always try to get you water sample a way below the surface. The top layer can be affected by the sun.
After adding chlorine, you can get a good test result after about an hour of circulation.
The 3 tests for ending your shock process are shown in the Pool School article:
pool-school/shocking_your_pool
1. CC is 0.5 or lower;
2. An overnight FC loss test shows a loss of 1.0 ppm or less;
3. And the water is clear.