Get Primary records where N most recent Secondary records match condition
SET @@group_concat_max_len = 9;

SELECT  a.author_name
    FROM  
    (
        SELECT  author_id,
                GROUP_CONCAT(best_seller ORDER BY  published_date DESC) AS bs
            FROM  Books
            GROUP BY  author_id
            HAVING  bs = 'true,true' 
    ) AS x
    JOIN  Authors AS a USING(author_id) ;


Notes:


9 is based on true,true being 9 characters, and that is enough to catch the first two.
I'm assuming best_seller is a VARCHAR.
ORDER BY  published_date DESC -- the "latest"
HAVING -- can't use WHERE in this situation