Это , а не ошибка. Вы просто добавляете в список словарь один и тот же несколько раз. В результате, если вы будете манипулировать этим словарем, вы увидите изменения во всех элементах списка, так как все они относятся к одинаковому словарю.
Вы должны создать new Словарь каждой итерации, например, с:
result = []
things = {'1':'Am', '2':'I', '3':'Dumb?'}
for key, value in things.items():
if value:
result.append(<b>{key: value}</b>)
print(list)
Или с простым пониманием списка:
result = [{k: v} for k, v in things.items() if v]