How can I have my template display a list on two different div tags without having redundancies

You can try to move <div class="row skills-content"> outside the for loop like this:

<div class="section-title">
    <h2>Skills</h2>
    <p>hsjkhvdkdjhvjkdfnv kjdf, dfhvkhdnfvkjldf,xhvnkldsv.mckldfnv ,dfhxncjcshfxdjvhcnjsdnckndjvbc
        d,sxbc kjdjsxcbjdksbvc kjs,bhzscs,zhcnlksjhlnzcklsnzjcjsdzcjb ds
        cxdbjvcsdbzcjks,gdcbkjds,zbcn jkcdxbv,m dfxvchj bdxnvbjhdujxdnkck jdfvknc
        dfkjhvxjdknfxzjxvkc.
    </p>
</div>

<div class="row skills-content">
    {% for skill in skills_list%}
    <div class="col-lg-6" data-aos="fade-up">
        <div class="progress">
            <span class="skill">{{skill.skill_name}} <i class="val">{{skill.skill_value}}</i></span>
            <div class="progress-bar-wrap">
                <div class="progress-bar" role="progressbar" aria-valuenow={{skill.skill_value}}
                     aria-valuemin="0" aria-valuemax="100"></div>
            </div>
        </div>

    </div>
    {% endfor %}
</div>

And you should remove redundant last </div> to make it work correctly.