Вы можете использовать setdefault :
list1 = ['10/20/2008', '3/25/2009', '3/26/2009', '3/28/2009', '3/28/2009', '8/23/2009', '8/23/2009']
list2 = [0, 0, 0, 0, 1, 0, 0]
result = {}
for k, v in zip(list1, list2):
result.setdefault(k, []).append(v)
print(result)
выход
{'3/28/2009': [0, 1], '3/26/2009': [0], '10/20/2008': [0], '3/25/2009': [0], '8/23/2009': [0, 0]}
Если вы хотите, чтобы список одного элемента был просто единственным элементом, сделайте следующее:
result = {k: v[0] if len(v) == 1 else v for k, v in result.items()}
выход
{'3/25/2009': 0, '3/26/2009': 0, '8/23/2009': [0, 0], '10/20/2008': 0, '3/28/2009': [0, 1]}