Por que entre el padding y width suman más que el contenedor.
  
Pruba con esto:  
Código:
 
#col1 {
	width:32%;
	background: yellow;
	float:left;
	padding: 1%;
}
#col2 {
	width:31%;
	background: green;
	float:left;
	padding: 1%;
}
#col3 {
	width:31%;
	background: orange;
	float:left;
	padding: 1%;
}