Because an “archives” Page is not an archive index of blog Posts, but rather a Page.
An “archives” page is simply a custom Page template, which applies to a static Page.
The is_archive()
conditional returns true if an archive index is being displayed. An archive index page displays Posts, not static Pages.
EDIT
Instead of using if ( is_archive() )
, try using if ( is_page( 'archives' ) )
(assuming you’ve named your static Page Archives).
Alternately, you could use if ( is_page_template( 'archives.php' ) )
(assuming you’ve named your template file as archives.php
).