You are using content_template
which is used for rendering Underscore JS template which means you will also have to create your own corresponding control in javascript using api.Control.extend({
and do the handling yourself.
however by looking at your code, that does not seem to be the case, I think if you want to change the html content you would need to override render_content
like this
protected function render_content() {
?>
<label>
<?php if ( ! empty( $this->label ) ) : ?>
<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
<?php endif;
if ( ! empty( $this->description ) ) : ?>
<span class="description customize-control-description"><?php echo $this->description; ?></span>
<?php endif; ?>
<input type="text" <?php $this->input_attrs(); ?> value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link('color'); ?> />
</label>
<?php
}