Answer: Charlie and James
Explanation:
Four of the boys named at least one suspect exactly and one lied on both. Charlie was named by 3 of the boys and 4 boys named exactly one suspect correctly meaning that these 3 boys have to be amongst the 4 boys and that Charlie is the first thief by sheer majority.
The 2 remaining boys are Charlie and James.
James said Tom had done it which could not be right because Tom was already named as one of the thieves by Donald. If Tom was the thief then Donald would have named both of the thieves correctly and we are told that exactly one name was named correctly by each of the 4 boys.
Donald was named by the 2 remaining boys which would mean that if he was the thief, all 5 boys would have named one thief correctly which violates the rule.
This leaves James as the other thief as well as the boy who lied on both names.