There is a simple reason why zu sein may at first glance be felt as superfluous: was lends itself to be misinterpreted as the accusative object of vorwerfen.
Ich weiß nicht, was man ihm vorwirft.
I don't know what he is being accused of.
However, vorwerfen can also govern an infinitive clause.
Man wirft ihm vor, gelogen zu haben.
He is accused of having lied.
In the original example, was is not the accusative object of vorwerfen, but the predicative complement of the verb sein in the infinitive clause (with the infinitive clause being the object of vorwerfen). Compare:
Man wirft ihm vor, ein Mörder zu sein.
He is accused of being a murderer.
We can replace ein Mörder by was, forming a so-called echo question.
Wie bitte? Man wirft ihm vor, was zu sein?
Come again? He is accused of being what?
In certain clauses the wh-word needs to be fronted, leading to something German grammarians have neatly called Satzverschränkung ("sentence interleaving"). The bold parts in the following sentences belong together, but was stands at the front of the matrix clause, not within the embedded clause.
Was wirft man ihm vor zu sein?
What is he accused of being?
Ich kann nicht glauben, was man ihm vorwirft, getan zu haben.
I cannot believe what he is accused of having done.
In linguistics, the convention is to indicate the base position of an fronted element by an indexed variable (in generative grammar, t stands for trace), possibly clarifying the sentence structure.
Ich kann nicht glauben, wasi man ihm vorwirft, ti getan zu haben.