You misunderstood the PageSpeed suggestion. The recommendation is for small CSS files:
If the external CSS resources are small, you can insert those directly
into the HTML document, which is called inlining. [...] Keep in mind
if the CSS file is large, completely inlining the CSS may cause
PageSpeed Insights to warn that the above-the-fold portion of your
page is too large via Prioritize Visible Content.
In fact, the article later suggests a balanced approach for large CSS files: inline critical CSS and defer-load the remaining CSS file.
Now, even if PageSpeed gives you a decent score after inlining large CSS files* it might still be a bad idea:
Redundancy
Inline CSS files means you duplicate the <style>...</style>
tag across pages. This means you serve redundant data for subsequent or repeat page views. The redundant data costs bandwidth and increases download time.
Separate CSS file along with strong caching headers allow you to eliminate redundancy. Caching headers instruct the browsers to cache the CSS file on first page view and reuse on subsequent or repeat page views.
Content vs Data
Inline CSS files reduce the proportion of "actual" content on the page. Inline CSS files require you to insert the CSS above the content while most of us strive to put the actual content near the top HTML.
Inline CSS will also cause the browser to download additional bytes before allowing it to download other resources such as JavaScript and images.
Compression Cost
If your HTML page is generated dynamically then, most likely, it will be served uncompressed. Some servers (e.g. IIS) and software (e.g. Wordpress) allow compression of dynamic content but requires more CPU + Memory compared to compression of static content (e.g. CSS files). This is yet another reason why you should keep CSS in separate file.
For the above reasons I would keep my CSS combined, minified, compressed and cached, in a separate file, even for one page websites.
* Not to be confused with inline styles