Мы можем только догадываться о причинах, по которым автор использовал в данном предложении двоеточие, хотя по смыслу здесь требуется тире, поскольку вторая часть бессоюзного сложного предложения обозначает следствие первой: Два ботинка лучше, чем один, — воссоедините эту пару. Можно предложить оформить части и как самостоятельные предложения: Два ботинка лучше, чем один. Воссоедините эту пару!
Никакие знаки препинания (кроме точки в конце) в этом предложении не нужны.
Запятая не нужна.
Междометия отделяются запятыми. Как вариант, можно выделить междометие в особое предложение: Догадываешься, сколько у него получилось? Ага! Три с половиной!
Толковые словари фиксируют устойчивое выражение читать между строк, означающее 'догадываться о скрытом смысле написанного'.
Запятая не нужна.
Возможны варианты:
Она не могла ни знать, ни догадаться о моих чувствах (= у нее не было возможности знать, не было возможности догадаться).
Она не могла не знать, не догадаться о моих чувствах (= она знала, догадалась).
Запятая перед и не требуется.
Догадаться об этом без словаря трудно. В большинстве случаев варианты с первой частью дву- и двух- равноправны, но все равно требуется проверка по словарю (например, по "Русскому орфографическому словарю" в "Искать на Грамоте" на нашем портале).
Слово теоретически, логически не требует обособления.