Preheat oven to 350 degrees.
Spray 3 (9-inch) round cake pans with non-stick baking spray with flour. Set aside.
In a large bowl, combine shortening, butter, sugar, zest and vanilla. Beat at medium speed with an electric mixer until light and fluffy. Add egg yolks, one at a time, beating well after each addition.
In a small bowl, combine flour, baking soda and salt. Add flour mixture to shortening mixture in thirds, alternately with buttermilk, beginning and ending with flour mixture.
In a large bowl, beat egg whites at high speed until stiff peaks form. Fold beaten egg whites into butter-flour mixture. Add coconut and 1 cup walnuts, stirring gently to combine. Divide batter evenly among prepared pans.
Bake until a wooden pick inserted in the center of layers comes out clean, approximately 20 minutes. Let layers cool in pans for 10 minutes. Remove from pans and let cool completely on wire racks.
For the frosting, beat cream cheese, butter, cream, zest and vanilla in a large bowl at medium speed with an electric mixer until creamy. Gradually add confectioners’ sugar, beating until smooth.
Spread frosting between layers and on top and sides of cake. Gently press remaining 1½ cups walnuts halfway up sides of cake.