Quei due blocchi non sono affatto equivalenti... nel primo il test su cond2 viene eseguito solo se cond1 è falso, mentre nel secondo i test su cond1 e cond2 vengono sempre eseguiti entrambi... ti faccio un esempio... controlla se questi due programmi danno lo stesso risultato:
if (3 == 3): print "primo test eseguito\n"
elif (2 != 3): print "secondo test eseguito\n"
if (3 == 3): print "primo test eseguito\n"
if (2 != 3): print "secondo test eseguito\n"