Why majority of fileds in wp_posts table prefixed with post_?

You pretty much answered it – legacy code. WordPress is the result of years of code evolution, refactoring and (most importantly) multiple developers/coders/authors – whilst they’re getting pretty good at enforcing coding standards/consistency, there will always be a trail of the past.