Why does Angular 8 recommend Node 12?
Maybe that was a mistake they fixed: https://update.angular.io/
Nothing in there about Node 12 which would be a monstrosity of a disruption for companies that would then need to upgrade all of their build servers with Node 12 before thinking about creating an Angular 8 project. Happily, that's not true, you can use Node 10 or even Node 8.
Angular 8 is the current stable release, so it also recommends Node.js latest stable release (i.e. Node.js 12.x.x).
Angular 7 is the current LTS release, so it supports Node.js latest LTS release (i.e. Node.js 10.x.x).
If you want to keep using an LTS release of Node.js (and you may have many reasons for that), you also need an LTS release of Angular (version 7 in this case).
If you think about it, using Angular 8 non-LTS with Node.js LTS would break the main purpose of an LTS software (i.e. stability).
SOURCE: Angular Release Schedule
P.S.: I think you can still use Node.js 10 with Angular 8, but since it is not recommended, it could not function properly (in this case, just update to Node.js 12 or stay with Angular 7).