One more Approach:
General case of how to count tag bits:
What is tag bits?
the bits required to count "number of main memory blocks needed to be accomodated in single set of cache"
now here is direct-mapped cache. so number of sets in cache are same as number of blocks in cache. (1 block per set)
$\text{#sets in cache = #blocks in cache} = \frac{2^{3}*2^{10}}{2^{5}}\;=\;2^{8}$
$\text{#no of blocks in main memory} = \frac{2^{32}}{2^{5}}\;=\;2^{27}$
[keep in mind memory is byte addressable so dont convert $2^{32}\; into \;2^{32}*2^{5}$]
now,
$\text{#no of main memory blocks per single cache set (here cache block)}$ $=\frac{2^{27}}{2^{8}}\;=\;2^{19}$
so, tag bits are 19. now each entry has two bits of additional info. so total 19+2=21 bits.
so size of tag meta-data = $21*2^{8}$ [because we have entry for each cache block] = $5376 \;bits$
so answer is option D.