Why can't I have more than 6 levels of #?

Because this is how Markdown works. If you are new to Markdown, I suggest you to go through Markdown Guide.

# is used to create headings in Markdown. Either in Markdown or HTML we can have at most 6 levels of headings, aka. <h1> - <h6> in HTML.

In markmap, the concept of headings is weakened, but it still subjects to Markdown syntax. However you can use nested lists to create branches more than 6 levels.