I will use the answer by Arjun given on the link you gave, with the relevant values modified.
8 KB pages means 13 offset bits.
For 32, bit physical address, 32 - 13 = 19 page frame bits must be there in each PTE (Page Table Entry).
We also have 1 valid bit.
So, total size of a PTE = 19 + 1 = 20 bits.
Given in question, maximum page table size = 20 MB
Page table size = No. of PTEs * size of an entry
So, no. of PTE = ( 20 * 2020 * 23 ) / ( 20 ) = 8 M
Virtual address supported = No. of PTEs * Page size (As we need a PTE for each page)
= 8 M * 8 KB
= 64 GB = 236 Bytes
So, length of virtual address supported = 36 bits (assuming byte addressing)