How large can a NPC village be?

Essentially, infinite.

The value of 32 blocks determines how far away from an existing village a villager must be to create a new village. Hence, if you build a load of village structures 32 blocks apart, you will have saturated the land with villages. Then, just expand from your 'nodes' to create a village around each one. From the villagers' perspective, there will be a separate village every 32 blocks, but from the players' they'll all appear to be the same.

So by 'Essentially infinite' I meant you can create a continuous village-scape that will be populated with villagers, and each actual village therein will be ~64x64.