Something is wrong with how people poll.
it's the way the question is phrased and the loaded terminology. For example, if they had asked something more like "do you think there are circumstances where a woman should have the right to end a pregnancy?", then it wold probably be higher.
but "pro-life" and "pro-choice" are loaded terms. in the same way someone might tell you they are conservative, but then if you asked, they tell you they support medicare for all. they know they "should" be conservative so they identify that way, but on specific issues they are actually much more left than they would admit (even to themselves).
lots of people will tell you they are "pro-life" even if they do support a woman's right to choose. But it is a terminology issue.