You’re joking aren’t you?
The html in all the examples given to you so far is much less than the html you have used in your 1999 example!
The examples do use css to style the HTML which is the way it should be done. The css is actually quite succinct and does include some suitable defaults for the page which are not actually part of the column code.
Note that the align attribute you are using was deprecated last century and should not be used these days (you can simply use css and set text-align:left on the cells.).
You should not be using tables for layout either as that is semantically incorrect as tables are to be used for tabular data and all you have is a list.
The css columns example seems to do what you want and is only a couple of lines of code at its basic level.
<li>* * B-6</li>
What could be simpler than that?
I’m afraid you’ve come to the wrong place if you want us to give you bad advice.
The th tag is for table headers and makes no semantic sense as you have it in your example. CSS doesn’t really care what the element looks like anyway as it can style it to suit in 99% of cases. Forget about the default appearance of an html element as you can easily style it to suit with css.
Html is the structure and css handles the look.
They are not the same!
The first example is two separate tables so there is no correlation between content in separate table cells. Why would there be?
The last example is a table with two rows and is one table so all columns will align naturally. The content in a cell must control the width of the columns because a table is rows and columns, You won’t have unequal cells in a table because that’s simply the way that tables work… Surely that last table is the look you were asking for anyway?