Good question! Random samples converge on population averages surprisingly quickly. In statistics, once a sample is randomly drawn, the accuracy depends much more on the size of the sample than on the size of the overall population. That’s why: 1,000–1,500 respondents can be used to estimate national opinion. Whether the country has 1 million people or 300 million people barely changes the math.
To your question about people's predictability -- you can’t predict how one voter will vote, but you can often predict millions collectively and make generalizations about groups. This is because of the law of large numbers: while individuals vary widely, group averages stabilize quickly.
It is important that the sample taken is representative of the population at large, though. Pollsters can make their predictions more accurate by using a representative sample -- i.e., one that matches the key demographics of the larger population. If a sample doesn't match the demographics of the population (i.e., 20% of your population is college-educated, but only 18.5% of your sample is), you could make your sample more accurate by weighting it. Weighting a random sample ensures it becomes representative by adjusting for under- or over-represented groups, making the sample reflect the target population's characteristics. So in our example, we'd make the weight of the college-educated respondents worth more using a factor of 1.08 (found by dividing the expected % by the actual % --- so 20/18.5 here).
If your sample is way too small, this may not work. For example, if you only have 3 indigenous respondents, weighting their responses to reflect the larger indigenous population may not be accurate -- after all, these are just the opinions of three people. So, your sample has to be large enough to be at least somewhat generalizable.