Can't place family on face (only on level) with Python

The method needs Revit Faces, whereas you are feeding Dynamo Faces.

You can get Revit faces from Dynamo faces like this:

Python:

import clr

clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

#Import the Revit API
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

#Import DocumentManager and TransactionManager
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager

#Import ToDSType(bool) extensions method
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

#Reference the active Document and application
doc = DocumentManager.Instance.CurrentDBDocument

faces = IN[0]

output = []

for i in faces:
	elemRef = i.Tags.LookupTag('RevitFaceReference')
	elem = doc.GetElement(elemRef)
	output.append(elem.GetGeometryObjectFromReference(elemRef))
#Assign your output to the OUT variable.

OUT = output