Una sesión es algo que se usa para que el usuario no ingrese la contraseña en cada solicitud. Almacena todos los datos que necesita sobre el usuario (por ejemplo, si ha iniciado sesión, con qué nombre de usuario, etc.) en el servidor en algún tipo de tabla de búsqueda. Luego pasa la ID que necesita para consultar la información al usuario, de modo que ella pueda usarla para la autenticación sin contraseña en el futuro.
Hay muchas maneras de implementar esto. Todas las implementaciones necesitan una tabla de búsqueda (para almacenar los datos), un generador de ID de sesión aleatorio y una cookie o alguna otra forma de pasar la ID entre el usuario y el cliente.
PHP viene con una implementación fuera de la caja. Si utiliza funciones de sesión de PHP PHP se encargará de generar la ID, configurar y leer las cookies. y buscar los datos de la sesión (que PHP guarda en archivos en el disco) para usted. No tienes que preocuparte por estas cosas.
Por supuesto, puede escribir su propia implementación, utilizando una base de datos como tabla de búsqueda. Sin embargo, hay muchas cosas difíciles sobre la implementación y, a menos que sepa lo que está haciendo, es fácil cometer errores sutiles que harán que su sistema sea inseguro. Por lo tanto, le recomendaría que simplemente vaya con la solución que PHP ya le proporcionó.
Finalmente, no hay necesidad de usar ambas sesiones de PHP y solo para verificar que el usuario haya iniciado sesión. Una es suficiente y agregar otra no le brinda ningún beneficio de seguridad. (Podría, por supuesto, usar la base de datos para buscar información sobre el usuario que inició sesión, como el nombre de usuario y el correo electrónico, pero eso es otro asunto).