The lines and their colors do not directly correspond to branches. A branch is just a pointer to a commit. The link in mkrieger1s answer discusses this in detail.
Your graph is perfectly fine, you're just reading/interpreting it wrong. Each big dot (with an avatar on it) is a commit, each commit has exactly one parent commit. Each small dot is a merge commit, each of which has exactly two parents.
The big knot in the middle is a merge commit with two parent commits (the lines that reach the knot from below); the merge commit itself is parent for three more commits (those that are above the merge itself).
You see this in every graphical representation of git repositories, and it's perfectly fine.