Они - то же. Булевская переменная помогает упростить преобразование назад и вперед между C# и VB.Net. Большинство программистов C# склонно предпочитать 'bool', но если Вы находитесь в магазине, где существует много из VB.Net и C# тогда, можно предпочесть булевскую переменную, потому что это работает в обоих местах.
Сам smtplib реализован на Python, но сокет основан на C, поэтому он означает и то, и другое.
In [32]: import smtplib
In [33]: smtplib
Out[33]: <module 'smtplib' from '/usr/lib/python2.6/smtplib.pyc'>
Следовательно, smtplib написан на python.
В основном чистый Python (в качестве базовой реализации, если вы спуститесь достаточно далеко, будет C). Вы можете найти исходный код в каталоге Lib \ в корневом каталоге Python.