If you are in Bocas and planning to go to Panama City or the Pacific Beach Towns, there is a "direct" bus from Almirante to Panama City that does not stop in David. You can buy a package at the water-taxi station in Bocas town where Flying Pirates has its office, which package includes water taxi from Bocas-Almirante, a voucher for the land taxi from Almirante boat dock to Almirante Bus terminal (accepted by any taxi driver at the boat dock), and then "direct" bus to Panama City for $35/per adult (the bus ride only costs about $28). I believe there are two "direct" buses per day; we took the morning bus that left Almirante at 8:00 a.m. (we left Bocas on the water taxi at 6:30 and had plenty of time to catch the Almirante bus).
The direct bus is a large air-conditioned tour-type bus with comfortable seats and a bathroom on board. Technically there is a two-bag baggage limit per person, but it wasn't strictly enforced. Suit cases and duffle bags are stored underneath in the storage area. You can bring purses, laptops and small backpacks on board with you. The bus makes three scheduled stops: in Chiriqui Grande (gross bathrooms with toilets that don't flush), at a gas station where the road from Chiriqui Grande meets the Panamerican highway (both very short bathroom stops) and in Santiago for 1/2 hour for lunch. Santiago is a very busy and popular stopping point and there is a cafeteria in the terminal that serves good cheap food with lots of choices. The bathroom in Santiago is also reasonably clean.
If you plan to get off before Panama City (Albrook terminal last stop), let the bus driver and baggage handler know where you want to be dropped off. They will load your luggage accordingly so that it can be easily removed. They will drop you off any where along the way that there is a bus stop. If you are going to the Pacific Beach towns, remind the driver and baggage handler again in Santiago about your stop. Note, once you are dropped off at the stop on the highway, you may need to call a taxi to take you to your final destination. Try to get the phone number of a local taxi driver before your take the trip. Call the driver the day before your trip to give your estimated arrival time and then call again a few miles before the bus lets you off, so that the taxi driver can meet you at the bus stop.
The bus trip from Almirante all the way to Panama City takes about ten hours.