En la doc oficial de pisa tenemos que:
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result)
Pero buscando en stackoverflow he encontrado que pisaDocument acepta además el parámetro encoding con el que en realidad le indicamos la codificación que debe usar con lo que queda:
pdf = pisa.pisaDocument(StringIO.StringIO(html.encode("UTF-8")), result, encoding='UTF-8')
;-)