Here is a systematic way to work through the statements.
Firstly, let us just look at the three statements uttered by each person and see if we can infer anything.
1 is either a son, a grandson (who lied about Peter being his father), or a great-grandson. The statement "I have no grandsons" is definitely true in any case.
2 is either a grandson or great-grandson. If he is a great-grandson, then the statement "I am Frank's uncle" is definitely false.
3 is either a grandson or a great-grandson. If he is a grandson, then the statement "Ben is my great-uncle" is definitely false, so the other statements must be true.
4 is either a grandson or great-grandson. Regardless, one of the statements "I am Alf" and "Cox is Dan's son" must be false, with the other being true.
5 is either a grandson or great-grandson.
6 can be a son, a grandson or a great-grandson.
We know there must be at least 1 son, 1 grandson, and 1 great-grandson. So the only candidates for being sons are persons 1 and 6. If 6 was a son, then his third statement implies that there must be another son (Ben). So, 1 is definitely a son. From 1's third statement, he doesn't have a grandson, which means in order for there to be a great-grandson, Peter must have had another son. This can only be 6. So, regardless, Peter must have had 2 sons. Combining 1's and 6's statements, we can deduce that 1 is Ben and 6 must be either Enoch or Cox.
The next step is to deduce whether the brothers, Alf and Dan, are grandsons or great-grandsons. Let us consider that they are great-grandsons. They cannot be Ben's grandsons, so the only possibility would be
Looking at 2's statements, the statements "I am Frank's uncle" and "Cox is my uncle" must be false. So, the statement "Ben and Enoch are brothers" must be true and Cox must be Enoch's son. We then need to find one person from 2 to 5 to fit Cox. However, Cox would have at least 2 false statements if he was any person from 2 to 5 and this would be a contradiction. So, Alf and Dan cannot be great-grandsons and must be grandsons. They are either Ben's children or 6's children.
Let us revisit 4’s statements. If 4 was a grandson, his second statement, “Peter was my grandfather” would be true. Hence, the false statement must be either “I am Alf” or “Cox is Dan’s son”. If 4 was a great-grandson, his second statement “Peter was my grandfather” would be false. His second false statement must be either “I am Alf” or “Cox is Dan’s son”. Regardless, in any case, one of 4’s first and third statements must be true with the other being false.
If we consider that 4 is NOT Alf, then the third statement, “Cox is Dan’s son” must be true and Cox must be a great-grandson. If Cox is Dan’s son, then 6 must be Enoch. Since Ben does not have any grandsons, Alf and Dan must be Enoch’s sons instead.
Let us now look at 5's statements. 5 cannot be Cox, since 2 of his statements would become true, which is a contradiction for being a great-grandson. 5 cannot be Alf or Dan as well, since they are grandsons and can have only 1 false statement. Hence, 5 must be Frank. From his statements, only "Alf is my uncle" can be true since the other two are false. So Frank and Cox would have to be brothers. The family tree diagram at this point would look like
However, out of the 3 remaining people (Alf, Cox, and Dan), none of them can fit person 3. If it were Alf and Dan, they would have no true statements, and if it was Cox, then he would have 2 true statements. This means the entire scenario we just discussed is not possible. So, Alf has to be person 4 and Cox is not Dan's son.
Dan must be either person 2, 3, or 5. However, he cannot be either person 3 or 5 or else all three of his statements would be false. So, he must be person 2. If his first statement "I am Frank's uncle" were to be false, then the other two statements cannot be true at the same time. So, that statement must be true and Dan must be Frank's uncle. Frank cannot be Ben's grandson, so Dan cannot be Ben's son and must be Ben's brother's son. If Ben's brother is Cox, then Dan's second and third statements both become false. Hence, Ben's brother must be Enoch.
So, our findings currently look like
1 - Ben, 2 - Dan, 3 - ?, 4 - Alf, 5 - ?, 6 - Enoch
So, we are only left with Cox and Frank to match persons 3 and 5. We still have not figured out whether Cox is a grandson or great-grandson. Cox can neither be Ben's son nor grandson, so he must belong to Enoch's side of the family. If Cox was to be Enoch's son, then he can only be person 5. That means Frank has to be person 3, but that would result in him having 2 true statements ("I have no brothers" and "Ben is my great-uncle"), which is a contradiction. So, both Frank and Cox must be great-grandsons.
Looking at 3's statements, the second one is definitely true, so the first statement (" I have no brothers") must be false. Therefore, Frank and Cox are both brothers. Since Dan is their uncle, Alf must be their father. The only statement that can be true for 5 is "I am Cox", and thus 5 is Cox and 3 is Frank. So the final family tree looks like