Why hreflang needs to be bidirectional
Hreflang tags tell search engines which URL to show for each language or region, but Google only trusts them when every page in the set links back to every other page - including itself. This generates the full reciprocal block in one pass: paste it onto all of the pages in the set, identically, so each page lists itself and every alternate.
What the x-default tag is for
The x-default tag tells search engines which version to show when none of the listed languages match the visitor's settings - typically your main or English-language version. Without it, a visitor whose browser language doesn't match any of your listed alternates has no clearly designated fallback page to land on.
Why this tool blocks generating a result with fewer than two language/URL pairs
Hreflang exists specifically to point between alternate versions of the same content - a single URL with no alternate has nothing to be reciprocal with, so generating tags for just one entry would produce markup that serves no actual purpose. Requiring at least two pairs keeps the generated output meaningful rather than an empty gesture.
Why getting the language code format right matters more than it might seem
Search engines parse hreflang codes against the ISO 639-1 (language) and ISO 3166-1 (region) standards
specifically - a code outside those standards, or a typo in the country portion, can cause the whole tag to be
silently ignored rather than erroring visibly, which is why using recognized codes like en-us or
pt-br rather than an invented format matters for the tags to actually take effect.