After seven years and nine months, putty still don't support 'Copy as HTML' feature.
I had already turned to Fedora linux as my primary operating system for work for about six years and nine months because of end-of-life of Windows XP.
Now, gnome-terminal v3.x had added 'Copy as HTML' feature for 3 years (git commit GNOME bug report), and it works as what I expected, so I will use gnome-terminal to do this job if I needed. See the screenshots below.
GNOME terminal 3.36.1.1 window
The HTML code copied from GNOME terminal
<pre><font color="#00D700">root</font> @ <span style="background-color:#005FAF"><font color="#00005F">tx300</font></span> <font color="#00FFFF">/tmp</font> <span style="background-color:#AF00AF"><font color="#FF0A0A">2020-05-29 16:34:00</font></span>
# ls /usr/bin/vi*
<font color="#00FFFF">/usr/bin/vi</font> <font color="#00D700">/usr/bin/virt-alignment-scan</font> <font color="#00D700">/usr/bin/virt-edit</font> <font color="#00D700">/usr/bin/virt-ls</font> <font color="#00D700">/usr/bin/virt-tail</font>
<font color="#00FFFF">/usr/bin/view</font> <font color="#00D700">/usr/bin/virt-builder</font> <font color="#00D700">/usr/bin/virt-filesystems</font> <font color="#00D700">/usr/bin/virt-make-fs</font> <font color="#00D700">/usr/bin/virt-tar-in</font>
<font color="#00D700">/usr/bin/viewres</font> <font color="#00D700">/usr/bin/virt-builder-repository</font> <font color="#00D700">/usr/bin/virt-format</font> <font color="#00D700">/usr/bin/virt-manager</font> <font color="#00D700">/usr/bin/virt-tar-out</font>
<font color="#00D700">/usr/bin/vim</font> <font color="#00D700">/usr/bin/virt-cat</font> <font color="#00D700">/usr/bin/virtfs-proxy-helper</font> <font color="#00D700">/usr/bin/virt-pki-validate</font> <font color="#00D700">/usr/bin/virt-win-reg</font>
<font color="#00FFFF">/usr/bin/vimdiff</font> <font color="#00D700">/usr/bin/virt-copy-in</font> <font color="#00D700">/usr/bin/virt-get-kernel</font> <font color="#00D700">/usr/bin/virt-qemu-run</font> <font color="#00D700">/usr/bin/virt-xml-validate</font>
<font color="#00D700">/usr/bin/vimdot</font> <font color="#00D700">/usr/bin/virt-copy-out</font> <font color="#00D700">/usr/bin/virt-host-validate</font> <font color="#00D700">/usr/bin/virt-rescue</font> <font color="#00D700">/usr/bin/vi.vi</font>
<font color="#00D700">/usr/bin/vimtutor</font> <font color="#00D700">/usr/bin/virt-customize</font> <font color="#00D700">/usr/bin/virt-index-validate</font> <font color="#00D700">/usr/bin/virt-resize</font>
<font color="#00FFFF">/usr/bin/vimx</font> <font color="#00D700">/usr/bin/virt-df</font> <font color="#00D700">/usr/bin/virt-inspector</font> <font color="#00D700">/usr/bin/virt-sparsify</font>
<font color="#00D700">/usr/bin/virsh</font> <font color="#00D700">/usr/bin/virt-diff</font> <font color="#00D700">/usr/bin/virt-log</font> <font color="#00D700">/usr/bin/virt-sysprep</font>
<font color="#00D700">root</font> @ <span style="background-color:#005FAF"><font color="#00005F">tx300</font></span> <font color="#00FFFF">/tmp</font> <span style="background-color:#FF87AF"><font color="#8A8A8A">2020-05-29 16:34:03</font></span>
#
</pre>
HTML render result (Firefox 76.0.1)