Regarding the 'Label every part of multi-features' check box located in the 'Labels // Rendering // Feature Options' layer properties UI...
Can this be done with pyQGIS?
These two commands enable the labeling, and allow color/font/etc. to work fine.
self.contourLayer.setCustomProperty("labeling", "pal")
self.contourLayer.setCustomProperty("labeling/enabled", "true")
Tests with these three commands do not enable multi-feature labels.
self.contourLayer.setCustomProperty("labeling/displayAll", "true")
self.contourLayer.setCustomProperty("labeling/labelPerPart", "true")
self.contourLayer.setCustomProperty("labeling/limitNumLabels","false")
self.contourLayer.setCustomProperty("labeling/labelPerPart", "true")
should do the trick.