Они действительно находятся в одной области видимости, если бы это было так, например:
<logic:present>
<% {int var1 = 5; }%>
</logic:present>
...................
<logic:present>
<% int var1 = 5; %>
</logic:present>
В конце концов, все будет переведено в один метод, поэтому ваш ассистент кода выдаст вам ошибку. В любом случае, как сказал BalusC, не рекомендуется использовать скриптлеты.