You only altering the user. Not the profile.
scott@9i > declare
2 cursor c1 is select username from dba_users where username in ('OLD','NEW');
4 for mag in c1 loop
5 execute immediate ('alter user '||mag.username||' password expire');
6 end loop;
PL/SQL procedure successfully completed.
scott@9i > connect old/old
ORA-28001: the password has expired
Changing password for old
Retype new password:
ORA-00988: missing or invalid password(s)
Warning: You are no longer connected to ORACLE.