There are couple of things you can try to debug this:
First run the hugo command to generate the static site. For the paths /posts/ and /about/ to work, there must be directories with the same name in the public folder. And there must be a file index.html in them. If not, then it’s an issue on Hugo side where you haven’t set up these “Kind”. Read up on Hugo “Kind” for more details.
Next you locally serve the generated public folder with command python3 -m http.server 8080. If the paths /posts/ and /about/ work just on localhost:8080, but not with nginx, then something is wrong with nginx config.