If the clause after "but" has a subject and a verb, you need a comma before but. If the clause introduced by "but" does not have a subject in front of the second verb, the comma is often optional.
1) Do not place a comma before "that"; 2) Do not place a comma before who or which if the information provided by the relative clause is essential; 3) Place a comma before who or which if the relative clause is not necessary to know who or what the speaker means.
You don't need to repeat the subject after "but" if both parts of your sentence (clauses) have the same subject. Therefore, you can mention it again or omit it in the second clause.
Because must be followed by a subject and a verb. Therefore, if the subject of both clauses is the same, we have to repeat the subject or the subject pronoun after "because".