is_front_page and is_home are not working in page.php

Ok, if you take a look at implementation of is_front_page, you will see the following:

/**
 * Is the query for the front page of the site?
 *
 * This is for what is displayed at your site's main URL.
 *
 * Depends on the site's "Front page displays" Reading Settings 'show_on_front' and 'page_on_front'.
 *
 * If you set a static page for the front page of your site, this function will return
 * true when viewing that page.
 *
 * Otherwise the same as @see WP_Query::is_home()
 *
 * @since 3.1.0
 * @uses is_home()
 * @uses get_option()
 *
 * @return bool True, if front of site.
 */
function is_front_page() {
    // most likely case
    if ( 'posts' == get_option( 'show_on_front') && $this->is_home() )
        return true;
    elseif ( 'page' == get_option( 'show_on_front') && get_option( 'page_on_front' ) && $this->is_page( get_option( 'page_on_front' ) ) )
        return true;
    else
        return false;
}

So I think the answer of your question is in this sentence If you set a static page for the front page of your site, this function will return true when viewing that page. It means that to make your page.php working as you want, you need to go to the “Settings” -> “Reading” page and set “Front page displays” option.