The correct option is
B Even though he made a mistake, he did not apologise for it.
Subordinate conjunctions are conjunctions that connect a main (independent) clause and a subordinate (dependent) clause. The clause beginning with the subordinating conjunction is always the subordinate clause, which cannot make sense without the main clause.
In the given sentence, 'he made a mistake' is the main clause. 'He did not apologise for it' is the subordinate clause. One sentence contradicts the other. "Although" is a subordinating conjunction which is usually used when one clause contradicts another. Hence, it is the appropriate conjunction because he was expected to apologise for the mistake but he did not. Hence, option B is the correct answer.
"So that" and "because" are subordinate conjunctions which are to be used when one clause is the reason/cause for the other - which is not the case here. Hence, Options A and C are incorrect.
"Until" is a subordinate conjunction of time. i.e., it is used when the two clauses are related to each other by time. Example: "He did not realise his mistake until the teacher pointed it to him". The action of the main clause occurs after the action of the subordinate clause. Here the two clauses are not related by time. Hence, option D is incorrect.