Do I need to finish every level in the world to fight the boss?
You need to complete 17 levels in each world to unlock the boss. From the Super Meat Boy Blog:
When you start a new chapter, all 20 main levels are unlocked. The boss remains locked till you complete at least 17 of the 20 levels in that chapter, and once you defeat the boss, the next chapter is unlocked.
The exception to this rule is the 6th world (The End), which requires all 5 light world levels to be completed to unlock the boss. This world also has a dark world boss, which requires 85 of the dark world levels to be completed to unlock (source).