Two similar keywords get separate pages when their intent or their SERP genuinely differs, and one page when the same results serve both. The thing that decides it is the search results, not how alike the words look. Two phrases can read almost identically, “cheap flights” and “budget flights,” and still turn out to be one search or two, so judging by wording alone is exactly the mistake.
The test is to compare the results pages. Pull up Google for both keywords and look at how much the top overlaps. If most of the same URLs rank for both, especially across the top few positions, Google is telling you it sees one intent behind both phrases, and you should cover them on a single page, since two pages would only split your effort and compete with each other. If the results diverge, with different pages and different sorts of answers ranking for each, then Google sees two intents, and each deserves its own page built for what that search actually wants. The amount of overlap is the signal, because it is Google’s own readout of whether the two queries lead to the same place.
So the words being similar is what raises the question; the results page is what answers it. The similarity tells you to check, not what to do. Lay the results for both keywords side by side, and merge them onto one page or split them into two based on how much the top results overlap, rather than on how similar the terms read.