How to achieve clean HTML markup? If you visit official website of Dries Buytaert https://dri.es/ and look into the source you will see very clean and minimal markup with no unnecessary tags and classes, eg:

 

When I create a simple custom block it has lots of junk under each field,  eg:



How to strip and delete all the junk and leave or add only classes and wrappers you need?

I did look up Fences, but it's latest version is in alpha since 2016 (and not sure if it does that) and cannot figure out how to strip at least classes with Display Suite extras module, it seem that it doesn't do anything, went though all settings.

Did Dries use any of known public modules or is it all custom code?
A lot of those classes are added by the classy base theme templates. You'll be able to get rid of them with a theme based on stable instead.