How to get the name of the property that has a bad driver in Python?
Just like keyframes look at data_path and array_index

data_path is the path from the owner of the driver, array index if it is an array type, eg 0, 1, 2 for x, y, z locations. 

Example Y Euler rotation of pose bone "shin.L", from the context object in python console.    

&gt;&gt;&gt; for d in C.object.animation_data.drivers:
...     d.data_path, d.array_index
...     
('pose.bones["shin.L"].rotation_euler', 1)


&gt;&gt;&gt; C.object.pose.bones['shin.L'].rotation_euler[1]
2.0

&gt;&gt;&gt; C.object.pose.bones['shin.L'].rotation_euler.y
2.0


Note for booleans unnecessary to test equality to True/False  ,

if not d.driver.is_valid: