Это связано с тем, что по умолчанию Mechanize автоматически создает общую «банку печенья». Для более продвинутых опций обработки файлов cookie вам нужно будет создать свой собственный файл cookie для каждого из сеансов сценария.
Мне пришлось использовать специальный файл cookie в прошлом проекте, чтобы перемещать файлы cookie из одного сеанса в другой. Конечный результат один и тот же, каждый экземпляр вашего сценария будет иметь свой собственный уникальный файл для хранения своих файлов cookie, поэтому вы сами должны управлять файлами cookie и знать, что они не запутались.
>>>> import mechanize
>>>> cj1 = mechanize.CookieJar()
>>>> cj2 = mechanize.CookieJar()
>>>> mech1 = mechanize.OpenerFactory().build_opener(mechanize.HTTPCookieProcessor(cj1))
>>>> mech2 = mechanize.OpenerFactory().build_opener(mechanize.HTTPCookieProcessor(cj2))
>>>> request = mechanize.Request('http://example.com') # testing shows they can share a request
>>>> response1 = mech1.open(request)
>>>> response2 = mech2.open(request)
>>>> print cj1
<mechanize._clientcookie.CookieJar[<Cookie JSESSIONID=54FBB2BE99E4CFDA8F8386F52FCF59C3>]>
>>>> print cj2
<mechanize._clientcookie.CookieJar[<Cookie JSESSIONID=350C0D544CDAD344A1272DA8D7B016B0>]>
В этом примере, который я протестировал, вы можете увидеть два механизированных объекта, каждый со своим независимым файлом cookie.