I wouldn’t say it’s better to put the labels above rather than on the left of the field. Both are easily read and understood (for those who read left to right).
The new approach of putting the labels above the field (which may not be that new) is more of a flexibility issue as opposed to a bad UX issue.
There are so many varying screen sizes out there, it’s difficult to design perfectly for each unique resolution.
Enter responsive design (which again is not that new).
We can design our content to adjust according to set breakpoints. The old approach of putting labels at the left could be just fine in a desktop sized view port, but as you go down in size to a mobile screen size, you’d be hard pressed to fit all the labels and the input fields on the same line.
You may not account for a certain screen size that causes the form labels and fields to line break in an unexpected way that makes it unreadable for visitors.
Also, even if you were able to fit the labels on the same line as input fields on every small screen, you would guarantee that the input fields would not stretch across the entire screen and thus giving a smaller tap target for visitors to input their information.
Another negative effect is that when visitors do put their info in these now shorter input fields, they may not be able to see the entirety of what they wrote in the box, meaning it would be more difficult for them to check back for errors and / or misspellings.
All that to say I agree that that the new approach is a better approach specifically for smaller screens. Although, the old approach can work just fine on larger screens (especially with longer forms),
Hope this helps.