Americans to spend nearly $24 billion for Valentine's Day, data says