Все ваши флажки отмечены, потому что вы написали {% if course.title %}checked="checked" {% endif %}
.Этот код означает, что если у курса есть заголовок, который, как я предполагаю, у всех есть, он будет проверен .Лучше не включать это условие if
(при условии, что вам не нужно предварительно проверять какие-либо флажки), а также использовать более уникальный идентификатор, отличный от title
(который потенциально может совместно использоваться двумя курсами).
<div class="form-group">
<h5>Courses <span class="text-danger">*</span></h5>
<div class="controls">
{% for course in courses %}
<input name="courses" type="checkbox" id="course-{{course.id}}" value="{{course.title}}" required>
<label for="course-{{course.id}}">{{course.title}}</label>
{% endfor %}
</div>
</div>