Razor pages != razor syntax. I think Microsoft screwed up with the naming of them because, even within the .NET community, I see a lot of developers that conflate them. Microsoft should have named razor pages something different to avoid this confusion.
It's just a simplified MVC model where the controller boils down to OnGet()and OnPost() methods in a code-behind file. The code-behind file, in turn, reminds developers of web forms, but razor pages are really not similar at all.
ASP.NET Core has a lot of flexibility. You can go Web Api / SPA, classic MVC, or razor pages. Each has a sweet spot.