Either "who" or "that" would suffice for most cases of it-cleft sentences you might encounter.
In some situations the two clauses are interchangeable, often leading to heated debates on whether to use one over the other.
i.e. It was I who made you into the man you are today! vs It was I that made you into the man you are today!
There are scenarios when you might consider omitting the clause entirely, for the sake of conciseness.
i.e. It was her stupidity that I did not like. vs It was her stupidity I did not like.
Another thing worth mentioning: Sequence of Tenses
"As long as the main clause's verb is in neither the past nor the past perfect tense, the verb of the subordinate clause can be in any tense that conveys meaning accurately. When the main clause verb is in the past or past perfect, however, the verb in the subordinate clause must be in the past or past perfect. The exception to this rule is when the subordinate clause expresses what is commonly known as a general truth."
As a fellow non-native speaker, here's my take on how to transform the sentences from your list of examples so they'd have a nice, natural ring to them.
- It was I who/that made you happy.
- It was you who/that broke the pen.
- It was a poem (that) you read.
- It was on Monday (that) you called me.
- It was my room (that) he hid in.
- and 7. It was her stupidity (that) I did not like.
The parentheses are there to emphasise the possible omission of the that clause.
Try to imagine the sentences without the clause, and you will see (that) they retain their original meaning and integrity.