I would confirm that you're using the same EnergyPlus version between the IDF you're loading and the PyIDF you're reading the IDF with. I'm guessing that you're using PyIDF for EnergyPlus v9.2 or earlier, but loading an IDF for EnergyPlus v9.3 or later. Here is an example object for v9.6:
ShadowCalculation,
PolygonClipping, !- Shading Calculation Method
Periodic, !- Shading Calculation Update Frequency Method
20, !- Shading Calculation Update Frequency
15000, !- Maximum Figures in Shadow Overlap Calculations
SutherlandHodgman, !- Polygon Clipping Algorithm
512, !- Pixel Counting Resolution
SimpleSkyDiffuseModeling,!- Sky Diffuse Modeling Algorithm
No, !- Output External Shading Calculation Results
No, !- Disable Self-Shading Within Shading Zone Groups
No; !- Disable Self-Shading From Shading Zone Groups to Other Zones
The first error line is saying that "PolygonClipping" is not a valid input for the calculation method, but the example object above has this set as the Shading calculation method (first input field) -- so slightly different input field names. Looking at the Input Output Reference for this object between versions, this input field name change happened in v9.3 -- v9.2 had a different set of options for this input field.
I am assuming that "<=" cannot be applied to a string (text). Need to verify / convert the string values to float/integer (number)?